home *** CD-ROM | disk | FTP | other *** search
/ Aminet 12 / Aminet 12 (1996)(GTI - Schatztruhe)[!][Jun 1996].iso / Aminet / gfx / show / gs_src_amiga.lha / Makefile < prev   
Makefile  |  1996-04-18  |  160KB  |  4,632 lines

  1. #    Copyright (C) 1989, 1995 Aladdin Enterprises.  All rights reserved.
  2. # This file is part of Aladdin Ghostscript.
  3. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  4. # or distributor accepts any responsibility for the consequences of using it,
  5. # or for whether it serves any particular purpose or works at all, unless he
  6. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  7. # License (the "License") for full details.
  8. # Every copy of Aladdin Ghostscript must include a copy of the License,
  9. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  10. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  11. # under certain conditions described in the License.  Among other things, the
  12. # License requires that the copyright notice and this notice be preserved on
  13. # all copies.
  14.  
  15. #### Start of system configuration section. ####
  16.  
  17. VPATH = .
  18. srcdir = .
  19.  
  20. # Common prefix for machine-independent installed files.
  21. # prefix = gnu: because GS351 is a Libnix client! && is put on Fish-site
  22. # prefix = /gnu when GS351 is compiled using ixemul.library!
  23. # prefix = ghostscript: because GS351 uses Libnix and is put on Aminet
  24. #          most end users don't have 'gnu:'
  25. prefix = Ghostscript:
  26. # Common prefix for machine-dependent installed files.
  27. exec_prefix = $(prefix)
  28.  
  29. # Directory to install executables in.
  30. bindir = $(exec_prefix)
  31. # Directory to install libraries in.
  32. libdir = $(exec_prefix)
  33. # Directory to install the Info files in.
  34. infodir = $(prefix)info
  35. # Directory to install script files in.
  36. scriptdir = $(bindir)batch
  37. # Directory to install the man page in.
  38. mandir = $(prefix)man
  39. man1ext = 1
  40. man1dir = $(mandir)/man$(man1ext)
  41. # Number to put on the man page filename.
  42. manext = 1
  43.  
  44. # Program to install executables.
  45. INSTALL_PROGRAM = ${INSTALL}
  46. # Program to install data like man pages.
  47. INSTALL_DATA = ${INSTALL} -m 644
  48. # Generic install program.
  49. INSTALL = /bin/install -c
  50.  
  51. CC = gcc
  52. DEFS =   $(FPU_FLAG) $(CPU_FLAG)
  53. CFLAGS = -O2 -m68000   -fno-builtin
  54.  
  55. LDFLAGS = -noixemul
  56. LIBS = 
  57.  
  58. # Note: this makefile assumes you are using gcc in ANSI mode.
  59.  
  60.  
  61. # ------------------------------- Options ------------------------------- #
  62.  
  63. ####### The following are the only parts of the file you should need to edit.
  64.  
  65. # ------ Generic options ------ #
  66.  
  67. datadir = $(prefix)data
  68. gsdir = $(datadir)
  69. gsdatadir = $(gsdir)
  70.  
  71. docdir=$(prefix)doc
  72. exdir=$(prefix)examples
  73. GS_DOCDIR=$(docdir)
  74.  
  75. # Define the default directory/ies for the runtime
  76. # initialization and font files.  Separate multiple directories with a :.
  77. # Note that if you want the interpreter to search the current directory, .,
  78. # you must include it explicitly.
  79.  
  80. GS_LIB_DEFAULT=$(gsdatadir),$(prefix)fonts
  81.  
  82. # Define the name of the interpreter initialization file.
  83. # (There is no reason to change this.)
  84.  
  85. GS_INIT=gs_init.ps
  86.  
  87. # Choose generic configuration options.
  88.  
  89. # -DDEBUG
  90. #    includes debugging features (-Z switch) in the code.
  91. #      Code runs substantially slower even if no debugging switches
  92. #      are set.
  93. # -DNOPRIVATE
  94. #    makes private (static) procedures and variables public,
  95. #      so they are visible to the debugger and profiler.
  96. #      No execution time or space penalty.
  97.  
  98. #GENOPT=-DDEBUG
  99. GENOPT=
  100.  
  101. # Define the name of the executable file.
  102.  
  103. GS=gs
  104.  
  105. # Define the directory where the IJG JPEG library sources are stored,
  106. # and the major version of the library that is stored there.
  107. # You may have to change this if the IJG library version changes.
  108. # See jpeg.mak for more information.
  109.  
  110. JSRCDIR=$(srcdir)/jpeg-6
  111. JVERSION=6
  112.  
  113. # Define the configuration ID.  Read gs.mak carefully before changing this.
  114.  
  115. CONFIG=
  116.  
  117. # ------ Platform-specific options ------ #
  118.  
  119. # Define the name of the C compiler.
  120. # JOOP: done in configure script
  121. #CC=gcc
  122.  
  123. # Define the name of the linker for the final link step.
  124. # Normally this is the same as the C compiler.
  125.  
  126. CCLD=$(CC)
  127.  
  128. # Define the default gcc flags.
  129.  
  130. #GCFLAGS=-Wall -Wpointer-arith -Wstrict-prototypes -Wwrite-strings
  131.  
  132. # Define the other compilation flags.  Add at most one of the following:
  133. #    -DBSD4_2 for 4.2bsd systems.
  134. #    -DSYSV for System V or DG/UX.
  135. #     -DSYSV -D__SVR3 for SCO ODT, ISC Unix 2.2 or before,
  136. #       or any System III Unix, or System V release 3-or-older Unix.
  137. #    -DSVR4 (not -DSYSV) for System V release 4.
  138. # XCFLAGS can be set from the command line.
  139. # We don't include -ansi, because this gets in the way of the platform-
  140. #   specific stuff that <math.h> typically needs; nevertheless, we expect
  141. #   gcc to accept ANSI-style function prototypes and function definitions.
  142.  
  143. #CFLAGS=-g -pg -O $(GCFLAGS) $(XCFLAGS)
  144. #CFLAGS=-pg -O $(GCFLAGS) $(XCFLAGS)
  145. #CFLAGS=-g -O $(GCFLAGS) $(XCFLAGS)
  146.  
  147. # JOOP:
  148. # Add -DIXEMUL if you want an executable using ixemul.library
  149. # Makes sure that the version string of gdevamiga.c is correctly included
  150. # for that to happen you need to modify the specs file or hand define
  151. # cpu options (-m68030 -DMC68030 -m68881 -DMC68881 etc)
  152. #CFLAGS=-g $(GCFLAGS) $(XCFLAGS)
  153.  
  154. # Define platform flags for ld.
  155. # SunOS 4.n may need -Bstatic.
  156. # XLDFLAGS can be set from the command line.
  157.  
  158. #LDFLAGS=$(XLDFLAGS) -pg
  159. #LDFLAGS=$(XLDFLAGS) -noixemul
  160.  
  161. # Define any extra libraries to link into the executable.
  162. # ISC Unix 2.2 wants -linet.
  163. # SCO Unix needs -lsocket if you aren't including the X11 driver.
  164. # SVR4 may need -lnsl.
  165. # (Libraries required by individual drivers are handled automatically.)
  166.  
  167. #EXTRALIBS=-lstack
  168.  
  169. # Define the include switch(es) for the X11 header files.
  170. # This can be null if handled in some other way (e.g., the files are
  171. # in /usr/include, or the directory is supplied by an environment variable);
  172. # in particular, SCO Xenix, Unix, and ODT just want
  173. XINCLUDE=
  174. # Note that x_.h expects to find the header files in $(XINCLUDE)/X11,
  175. # not in $(XINCLUDE).
  176.  
  177. #XINCLUDE=-I/usr/local/X/include
  178.  
  179. # Define the directory/ies and library names for the X11 library files.
  180. # The former can be null if these files are in the default linker search path;
  181. # in particular, SCO Xenix, Unix, and ODT, and the Pencom co-Xist X server
  182. # for NeXTstep, just want
  183. XLIBDIRS=
  184. #XLIBDIRS=-L/usr/local/X/lib
  185. # X11R6 (on any platform) may need
  186. #XLIBS=Xt Xext X11 SM ICE
  187. XLIBS=
  188.  
  189. # Define whether this platform has floating point hardware:
  190. #    FPU_TYPE=2 means floating point is faster than fixed point.
  191. # (This is the case on some RISCs with multiple instruction dispatch.)
  192. #    FPU_TYPE=1 means floating point is at worst only slightly slower
  193. # than fixed point.
  194. #    FPU_TYPE=0 means that floating point may be considerably slower.
  195. #    FPU_TYPE=-1 means that floating point is always much slower than
  196. # fixed point.
  197.  
  198. FPU_TYPE=-1
  199.  
  200. # ------ Devices and features ------ #
  201.  
  202. # Choose the language feature(s) to include.  See gs.mak for details.
  203.  
  204. FEATURE_DEVS=level2.dev writeppm.dev pdf.dev pipe.dev
  205.  
  206. # Choose whether to compile the .ps initialization files into the executable.
  207. # See gs.mak for details.
  208.  
  209. COMPILE_INITS=0
  210.  
  211. # Choose the device(s) to include.  See devs.mak for details.
  212. # JOOP: currently only the Amiga driver and PNG are active. 
  213. #       If you want more/other devices active then remove '#' and recompile.
  214. DEVICE_DEVS=amiga.dev amiga_low.dev amiga_high.dev amiga_super.dev
  215. DEVICE_DEVS3=amiga_a2024.dev amiga_picassoii.dev amiga_printer.dev
  216. DEVICE_DEVS4=amiga_ilbm.dev amiga_custom.dev
  217. DEVICE_DEVS5=deskjet.dev djet500.dev laserjet.dev ljetplus.dev ljet2p.dev ljet3.dev ljet4.dev
  218. DEVICE_DEVS6=cdeskjet.dev cdjcolor.dev cdjmono.dev cdj550.dev pj.dev pjxl.dev pjxl300.dev
  219. DEVICE_DEVS7=bj10e.dev bj200.dev bjc600.dev bjc800.dev
  220. DEVICE_DEVS8=faxg3.dev faxg32d.dev faxg4.dev
  221. DEVICE_DEVS9=pcxmono.dev pcxgray.dev pcx16.dev pcx256.dev pcx24b.dev
  222. #DEVICE_DEVS10=pbm.dev pbmraw.dev pgm.dev pgmraw.dev pgnm.dev pgnmraw.dev pnm.dev pnmraw.dev ppm.dev ppmraw.dev
  223. DEVICE_DEVS11=tiffcrle.dev tiffg3.dev tiffg32d.dev tiffg4.dev tifflzw.dev tiff24nc.dev
  224. DEVICE_DEVS12=pngmono.dev pnggray.dev png16.dev png256.dev png16m.dev
  225. DEVICE_DEVS13=psmono.dev #bit.dev bitrgb.dev bitcmyk.dev
  226. DEVICE_DEVS14=st800.dev stcolor.dev
  227. DEVICE_DEVS15=bmpmono.dev bmp16.dev bmp256.dev bmp16m.dev
  228.  
  229. # ---------------------------- End of options --------------------------- #
  230.  
  231. # Define the name of the partial makefile that specifies options --
  232. # used in dependencies.
  233.  
  234. MAKEFILE=Makefile
  235.  
  236. # Define the ANSI-to-K&R dependency.  (gcc accepts ANSI syntax.)
  237.  
  238. AK=
  239.  
  240. # Define the compilation rules and flags.
  241.  
  242. CCC=$(CC) $(CCFLAGS) -c
  243. CCAUX=$(CC)
  244. #We can't use -fomit-frame-pointer with -pg....
  245. CCLEAF=$(CCC) -fomit-frame-pointer
  246. #CCLEAF=$(CCC)
  247.  
  248. # --------------------------- Generic makefile ---------------------------- #
  249.  
  250. # The remainder of the makefile (unixhead.mak, gs.mak, devs.mak, unixtail.mak)
  251. # is generic.  tar_cat concatenates all these together.
  252. # The remainder of the makefile (unixhead.mak, gs.mak, devs.mak, unixtail.mak)
  253. # is generic.  tar_cat concatenates all these together.
  254. #    Copyright (C) 1990, 1991, 1993 Aladdin Enterprises.  All rights reserved.
  255. # This file is part of Aladdin Ghostscript.
  256. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  257. # or distributor accepts any responsibility for the consequences of using it,
  258. # or for whether it serves any particular purpose or works at all, unless he
  259. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  260. # License (the "License") for full details.
  261. # Every copy of Aladdin Ghostscript must include a copy of the License,
  262. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  263. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  264. # under certain conditions described in the License.  Among other things, the
  265. # License requires that the copyright notice and this notice be preserved on
  266. # all copies.
  267.  
  268. # Partial makefile common to all Unix configurations.
  269.  
  270. # This part of the makefile gets inserted after the compiler-specific part
  271. # (xxx-head.mak) and before gs.mak and devs.mak.
  272.  
  273. # ----------------------------- Generic stuff ----------------------------- #
  274.  
  275. # Define the platform name.  For a "stock" System V platform,
  276. # use sysv_ instead of unix_.
  277.  
  278. PLATFORM=amiga_
  279.  
  280. # Define the syntax for command, object, and executable files.
  281.  
  282. CMD=
  283. O=-o ./
  284. OBJ=o
  285. XE=
  286. XEAUX=
  287.  
  288. # Define the current directory prefix and command invocations.
  289.  
  290. CAT=cat
  291. D=/
  292. EXPP=
  293. EXP=
  294. SHELL=/bin/sh
  295. SH=$(SHELL)
  296. SHP=$(SH) $(EXP)
  297.  
  298. # Define the arguments for genconf.
  299.  
  300. CONFILES=-p "%s&s&&" -pl "&-l%s&s&&" -pL "&-L%s&s&&" -ol ld.tr
  301.  
  302. # Define the compilation rules and flags.
  303.  
  304. CCFLAGS=$(GENOPT) $(CFLAGS)
  305.  
  306. .c.o:
  307.     $(CCC) -c -I. -I$(srcdir) $(DEFS) $< $(OUTPUT_OPTION)
  308.  
  309. #.c.o: $(AK)
  310. #    $(CCC) $*.c
  311.  
  312. CCCF=$(CCC)
  313. CCD=$(CCC)
  314. CCINT=$(CCC)
  315.  
  316. BEGINFILES=
  317. CCBEGIN=$(CCC) *.c
  318.  
  319. # Patch a couple of PC-specific things that aren't relevant to Unix builds,
  320. # but that cause `make' to produce warnings.
  321.  
  322. BGIDIR=***UNUSED***
  323. PCFBASM=
  324. #    Copyright (C) 1989, 1995 Aladdin Enterprises.  All rights reserved.
  325. # This file is part of Aladdin Ghostscript.
  326. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  327. # or distributor accepts any responsibility for the consequences of using it,
  328. # or for whether it serves any particular purpose or works at all, unless he
  329. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  330. # License (the "License") for full details.
  331. # Every copy of Aladdin Ghostscript must include a copy of the License,
  332. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  333. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  334. # under certain conditions described in the License.  Among other things, the
  335. # License requires that the copyright notice and this notice be preserved on
  336. # all copies.
  337.  
  338. # Generic makefile, common to all platforms.
  339. # The platform-specific makefiles `include' this file.
  340. # They define the following symbols:
  341. #    GS - the name of the executable (without the extension, if any).
  342. #    GS_LIB_DEFAULT - the default directory/ies for searching for the
  343. #        initialization and font files at run time.
  344. #    GS_DOCDIR - the directory where documentation will be available
  345. #        at run time.
  346. #    JSRCDIR - the directory where the IJG JPEG library source code
  347. #        is stored (at compilation time).
  348. #    JVERSION - the major version number of the IJG JPEG library.
  349. #    CONFIG - a configuration ID, added at the request of a customer,
  350. #        that is supposed to help in maintaining multiple variants in
  351. #        a single directory.  Normally this is an empty string;
  352. #        it may be any string that is legal as part of a file name.
  353. #    DEVICE_DEVS - the devices to include in the executable.
  354. #        See devs.mak for details.
  355. #    DEVICE_DEVS1...DEVICE_DEVS15 - additional devices, if the definition
  356. #        of DEVICE_DEVS doesn't fit on one line.  See devs.mak for details.
  357. #    FEATURE_DEVS - what features to include in the executable.
  358. #        Normally this is one of:
  359. #            level1 - a standard PostScript Level 1 language
  360. #            interpreter.
  361. #            level2 - a standard PostScript Level 2 language
  362. #            interpreter.
  363. #            pdf - a PDF-capable interpreter.
  364. #        You may include both level1 and pdf, or both level2 and pdf.
  365. #        The following feature may be added to either of the standard
  366. #        configurations:
  367. #            ccfonts - precompile fonts into C, and link them
  368. #            with the executable.  See fonts.doc for details.
  369. #        The remaining features are of interest primarily to developers
  370. #        who want to "mix and match" features to create custom
  371. #        configurations:
  372. #            dps - (partial) support for Display PostScript extensions:
  373. #            see language.doc for details.
  374. #            btoken - support for binary token encodings.
  375. #            Included automatically in the dps and level2 features.
  376. #            color - support for the Level 1 CMYK color extensions.
  377. #            Included automatically in the dps and level2 features.
  378. #            compfont - support for composite (type 0) fonts.
  379. #            Included automatically in the level2 feature.
  380. #            dct - support for DCTEncode/Decode filters.
  381. #            Included automatically in the level2 feature.
  382. #            filter - support for Level 2 filters (other than eexec,
  383. #            ASCIIHexEncode/Decode, NullEncode, PFBDecode,
  384. #            RunLengthEncode/Decode, and SubFileDecode, which are
  385. #            always included, and DCTEncode/Decode,
  386. #            which are separate).
  387. #            Included automatically in the level2 feature.
  388. #            type1 - support for Type 1 fonts and eexec;
  389. #            normally included automatically in all configurations.
  390. #        There are quite a number of other sub-features that can be
  391. #        selectively included in or excluded from a configuration,
  392. #        but the above are the ones that are most likely to be of
  393. #        interest.
  394. #    COMPILE_INITS - normally 0; if set to 1, compiles the PostScript
  395. #        language initialization files (gs_init.ps et al) into the
  396. #        executable, eliminating the need for these files to be present
  397. #        at run time.
  398. #    EXTEND_NAMES - a value N between 0 and 6, indicating that the name
  399. #        table should have a capacity of 2^(16+N) names.  This normally
  400. #        should be set to 0 (or left undefined), since non-zero values
  401. #        result in a larger fixed space overhead and slightly slower code.
  402. #        EXTEND_NAMES is ignored in 16-bit environments.
  403. #
  404. # It is very unlikely that anyone would want to edit the remaining
  405. #   symbols, but we describe them here for completeness:
  406. #    GS_INIT - the name of the initialization file for the interpreter,
  407. #        normally gs_init.ps.
  408. #    PLATFORM - a "device" name for the platform, so that platforms can
  409. #        add various kinds of resources like devices and features.
  410. #    CMD - the suffix for shell command files (e.g., null or .bat).
  411. #        (This is only needed in a few places.)
  412. #    D - the directory separator character (\ for MS-DOS, / for Unix).
  413. #    O - the string for specifying the output file from the C compiler
  414. #        (-o for MS-DOS, -o ./ for Unix).
  415. #    OBJ - the extension for relocatable object files (e.g., o or obj).
  416. #    XE - the extension for executable files (e.g., null or .exe).
  417. #    XEAUX - the extension for the executable files (e.g., null or .exe)
  418. #        for the utility programs (ansi2knr and those compiled with
  419. #        CCAUX).
  420. #    BEGINFILES - the list of files that `make begin' and `make clean'
  421. #        should delete.
  422. #    CCA2K - the C invocation for the ansi2knr program, which is the only
  423. #        one that doesn't use ANSI C syntax.  (It is only needed if
  424. #        the main C compiler also isn't an ANSI compiler.)
  425. #    CCAUX - the C invocation for auxiliary programs (echogs, genarch,
  426. #        genconf, geninit).
  427. #    CCBEGIN - the compilation command for `make begin', normally
  428. #        $(CCC) *.c.
  429. #    CCC - the C invocation for normal compilation.
  430. #    CCD - the C invocation for files that store into frame buffers or
  431. #        device registers.  Needed because some optimizing compilers
  432. #        will eliminate necessary stores.
  433. #    CCCF - the C invocation for compiled fonts and other large,
  434. #        self-contained data modules.  Needed because MS-DOS
  435. #        requires using the 'huge' memory model for these.
  436. #    CCINT - the C invocation for compiling the main interpreter module,
  437. #        normally the same as CCC: this is needed because the
  438. #        Borland compiler generates *worse* code for this module
  439. #        (but only this module) when optimization (-O) is turned on.
  440. #    CCLEAF - the C invocation for compiling modules that contain only
  441. #        leaf procedures, which don't need to build stack frames.
  442. #        This is needed only because many compilers aren't able to
  443. #        recognize leaf procedures on their own.
  444. #    AK - if source files must be converted from ANSI to K&R syntax,
  445. #        this is $(ANSI2KNR_XE); if not, it is null.
  446. #        If a particular platform requires other utility programs
  447. #        to be built, AK must include them too.
  448. #    SHP - the prefix for invoking a shell script in the current directory
  449. #        (null for MS-DOS, $(SH) ./ for Unix).
  450. #    EXPP, EXP - the prefix for invoking an executable program in the
  451. #        current directory (null for MS-DOS, ./ for Unix).
  452. #    SH - the shell for scripts (null on MS-DOS, sh on Unix).
  453. #    CONFILES - the arguments for genconf to generate the appropriate
  454. #        linker control files (various).
  455. #
  456. # The platform-specific makefiles must also include rules for creating
  457. # certain dynamically generated files:
  458. #    gconfig_.h - this indicates the presence or absence of
  459. #        certain system header files that are located in different
  460. #        places on different systems.  (It could be generated by
  461. #        the GNU `configure' program.)
  462. #    gconfigv.h - this indicates the status of certain machine-
  463. #        and configuration-specific features derived from definitions
  464. #        in the platform-specific makefile.
  465.  
  466. # Define the name of this makefile.
  467. GS_MAK=gs.mak
  468.  
  469. # Define the names of the executables.
  470. GS_XE=$(GS)$(XE)
  471. ANSI2KNR_XE=ansi2knr$(XEAUX)
  472. ECHOGS_XE=echogs$(XEAUX)
  473. GENARCH_XE=genarch$(XEAUX)
  474. GENCONF_XE=genconf$(XEAUX)
  475. GENINIT_XE=geninit$(XEAUX)
  476.  
  477. # Define the names of the CONFIG-dependent header files.
  478. # gconfig*.h are generated dynamically.
  479. gconfig_h=gconfigx$(CONFIG).h
  480. gconfigf_h=gconfigc$(CONFIG).h
  481.  
  482. # Watcom make insists that rules have a non-empty body!
  483. all default: $(GS_XE)
  484.     rm -f _temp_*
  485.  
  486. distclean maintainer-clean realclean: clean
  487.     rm -f makefile *.mak tar_cat config.*
  488.  
  489. clean: mostlyclean
  490. #    rm -f $(GS_XE)
  491.  
  492. mostlyclean:
  493.     rm -f *.$(OBJ) *.a core gmon.out
  494.     rm -f *.dev *.d_* arch.h devs*.tr gconfig*.h j*.h o*.tr l*.tr
  495.     rm -f gconfig*.c iconfig*.c
  496.     rm -f _temp_* _temp_*.* *.map *.sym
  497.     rm -f $(ANSI2KNR_XE) $(ECHOGS_XE) $(GENARCH_XE) $(GENCONF_XE) $(GENINIT_XE)
  498.     rm -f gs_init.c $(BEGINFILES)
  499.     rm -f $(PHCOPY)
  500.  
  501. # Remove only configuration-dependent information.
  502. config-clean:
  503.     rm -f *.dev devs*.tr gconfig*.h o*.tr l*.tr
  504.  
  505. # A rule to do a quick and dirty compilation attempt when first installing
  506. # the interpreter.  Many of the compilations will fail:
  507. # follow this with 'make'.
  508.  
  509. begin:
  510.     rm -f arch.h gconfig*.h $(GENARCH_XE) $(GS_XE)
  511.     rm -f gconfig*.c iconfig*.c
  512.     rm -f gs_init.c $(BEGINFILES)
  513.     make arch.h gconfigv.h
  514.     - $(CCBEGIN)
  515.     rm -f gconfig.$(OBJ) gdev*.$(OBJ) gp_*.$(OBJ) gsmisc.$(OBJ)
  516.     rm -f ccfontab.$(OBJ) iconfig.$(OBJ) iinit.$(OBJ) interp.$(OBJ)
  517.  
  518. # Auxiliary programs
  519.  
  520. arch.h: $(GENARCH_XE)
  521.     $(EXPP) $(EXP)genarch arch.h
  522.  
  523. # Macros for constructing the *.dev files that describe features and
  524. # devices.
  525. SETDEV=$(EXP)echogs -e .dev -w- -Q-dev -F -s -Q-obj
  526. SETPDEV=$(EXP)echogs -e .dev -w- -Q-dev -F -s -Q-include -Qpage -Q-obj
  527. SETMOD=$(EXP)echogs -e .dev -w- -Q-obj
  528. ADDMOD=$(EXP)echogs -e .dev -a-
  529.  
  530. ######################## How to define new 'features' #######################
  531. #
  532. # One defines new 'features' exactly like devices (see devs.mak for details).
  533. # For example, one would define a feature abc by adding the following to
  534. # gs.mak:
  535. #
  536. #    abc_=abc1.$(OBJ) ...
  537. #    abc.dev: $(GS_MAK) $(ECHOGS_XE) $(abc_)
  538. #        $(SETMOD) abc $(abc_)
  539. #        $(ADDMOD) abc -obj ... [if needed]
  540. #        $(ADDMOD) abc -oper ... [if appropriate]
  541. #        $(ADDMOD) abc -ps ... [if appropriate]
  542. #
  543. # If the abc feature requires the presence of some other features jkl and
  544. # pqr, then the rules must look like this:
  545. #
  546. #    abc_=abc1.$(OBJ) ...
  547. #    abc.dev: $(GS_MAK) $(ECHOGS_XE) $(abc_) jkl.dev pqr.dev
  548. #        $(SETMOD) abc $(abc_)
  549. #        ...
  550. #        $(ADDMOD) abc -include jkl pqr
  551.  
  552. # --------------------- Configuration-dependent files --------------------- #
  553.  
  554. # gconfig.h shouldn't have to depend on DEVS_ALL, but that would
  555. # involve rewriting gsconfig to only save the device name, not the
  556. # contents of the <device>.dev files.
  557. # FEATURE_DEVS must precede DEVICE_DEVS so that devices can override
  558. # features in obscure cases.
  559.  
  560. DEVS_ALL=$(PLATFORM).dev $(FEATURE_DEVS) \
  561.   $(DEVICE_DEVS) $(DEVICE_DEVS1) \
  562.   $(DEVICE_DEVS2) $(DEVICE_DEVS3) $(DEVICE_DEVS4) $(DEVICE_DEVS5) \
  563.   $(DEVICE_DEVS6) $(DEVICE_DEVS7) $(DEVICE_DEVS8) $(DEVICE_DEVS9) \
  564.   $(DEVICE_DEVS10) $(DEVICE_DEVS11) $(DEVICE_DEVS12) $(DEVICE_DEVS13) \
  565.   $(DEVICE_DEVS14) $(DEVICE_DEVS15)
  566.  
  567. devs_tr=devs.tr$(CONFIG)
  568. $(devs_tr): $(GS_MAK) $(MAKEFILE) $(ECHOGS_XE)
  569.     $(EXP)echogs -w $(devs_tr) - $(PLATFORM).dev
  570.     $(EXP)echogs -a $(devs_tr) - $(FEATURE_DEVS)
  571.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS)
  572.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS1)
  573.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS2)
  574.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS3)
  575.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS4)
  576.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS5)
  577.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS6)
  578.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS7)
  579.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS8)
  580.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS9)
  581.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS10)
  582.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS11)
  583.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS12)
  584.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS13)
  585.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS14)
  586.     $(EXP)echogs -a $(devs_tr) - $(DEVICE_DEVS15)
  587.  
  588. # GCONFIG_EXTRAS can be set on the command line.
  589. # Note that it consists of arguments for echogs, i.e.,
  590. # it isn't just literal text.
  591.  
  592. ld_tr=ld$(CONFIG).tr
  593. $(gconfig_h) obj.tr objw.tr $(ld_tr) lib.tr: \
  594.   $(MAKEFILE) $(GENCONF_XE) $(ECHOGS_XE) $(devs_tr) $(DEVS_ALL) libcore.dev
  595.     $(EXP)genconf @$(devs_tr) libcore.dev -h $(gconfig_h) $(CONFILES)
  596.     $(EXP)echogs -a $(gconfig_h) -x 23 define GS_LIB_DEFAULT -x 2022 $(GS_LIB_DEFAULT) -x 22
  597.     $(EXP)echogs -a $(gconfig_h) -x 23 define GS_DOCDIR -x 2022 $(GS_DOCDIR) -x 22
  598.     $(EXP)echogs -a $(gconfig_h) -x 23 define GS_INIT -x 2022 $(GS_INIT) -x 22
  599.     $(EXP)echogs -a $(gconfig_h) $(GCONFIG_EXTRAS)
  600.  
  601. ################################################################
  602. # The other platform-independent makefiles are concatenated
  603. # (or included) after this one:
  604. #    lib.mak
  605. #    int.mak
  606. #    jpeg.mak
  607. #    devs.mak
  608. ################################################################
  609. #    Copyright (C) 1995 Aladdin Enterprises.  All rights reserved.
  610. # This file is part of Aladdin Ghostscript.
  611. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  612. # or distributor accepts any responsibility for the consequences of using it,
  613. # or for whether it serves any particular purpose or works at all, unless he
  614. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  615. # License (the "License") for full details.
  616. # Every copy of Aladdin Ghostscript must include a copy of the License,
  617. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  618. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  619. # under certain conditions described in the License.  Among other things, the
  620. # License requires that the copyright notice and this notice be preserved on
  621. # all copies.
  622.  
  623. # (Platform-independent) makefile for graphics library and other support code.
  624. # See the end of gs.mak for where this fits into the build process.
  625.  
  626. # Define the name of this makefile.
  627. LIB_MAK=lib.mak
  628.  
  629. # Define the inter-dependencies of the .h files.
  630. # Since not all versions of `make' defer expansion of macros,
  631. # we must list these in bottom-to-top order.
  632.  
  633. # Generic files
  634.  
  635. arch_h=arch.h
  636. stdpre_h=stdpre.h
  637. std_h=std.h $(arch_h) $(stdpre_h)
  638.  
  639. # Platform interfaces
  640.  
  641. gp_h=gp.h
  642. gpcheck_h=gpcheck.h
  643.  
  644. # Configuration definitions
  645.  
  646. # gconfig*.h are generated dynamically.
  647. gconfig__h=gconfig_.h
  648. gconfigv_h=gconfigv.h
  649. gscdefs_h=gscdefs.h
  650.  
  651. # C library interfaces
  652.  
  653. # Because of variations in the "standard" header files between systems, and
  654. # because we must include std.h before any file that includes sys/types.h,
  655. # we define local include files named *_.h to substitute for <*.h>.
  656.  
  657. vmsmath_h=vmsmath.h
  658.  
  659. dos__h=dos_.h
  660. ctype__h=ctype_.h $(std_h)
  661. dirent__h=dirent_.h $(std_h) $(gconfig__h)
  662. errno__h=errno_.h
  663. malloc__h=malloc_.h $(std_h)
  664. math__h=math_.h $(std_h) $(vmsmath_h)
  665. memory__h=memory_.h $(std_h)
  666. stat__h=stat_.h $(std_h)
  667. stdio__h=stdio_.h $(std_h)
  668. string__h=string_.h $(std_h)
  669. time__h=time_.h $(std_h) $(gconfig__h)
  670. windows__h=windows_.h
  671.  
  672. # Miscellaneous
  673.  
  674. gdebug_h=gdebug.h
  675. gsalloc_h=gsalloc.h
  676. gserror_h=gserror.h
  677. gserrors_h=gserrors.h
  678. gsexit_h=gsexit.h
  679. gsio_h=gsio.h
  680. gsmemory_h=gsmemory.h
  681. gsrefct_h=gsrefct.h
  682. gsstruct_h=gsstruct.h
  683. gstypes_h=gstypes.h
  684. gx_h=gx.h $(stdio__h) $(gdebug_h) $(gserror_h) $(gsio_h) $(gsmemory_h) $(gstypes_h)
  685.  
  686. GX=$(AK) $(gx_h)
  687. GXERR=$(GX) $(gserrors_h)
  688.  
  689. ###### Support
  690.  
  691. ### Include files
  692.  
  693. gsbitops_h=gsbitops.h
  694. gsbittab_h=gsbittab.h
  695. gsuid_h=gsuid.h
  696. gsutil_h=gsutil.h
  697. gxarith_h=gxarith.h
  698. gxbitmap_h=gxbitmap.h
  699. gxfarith_h=gxfarith.h $(gconfigv_h) $(gxarith_h)
  700. gxfixed_h=gxfixed.h
  701. gxobj_h=gxobj.h $(gxbitmap_h)
  702. # Out of order
  703. gxalloc_h=gxalloc.h $(gsalloc_h) $(gxobj_h)
  704.  
  705. ### Executable code
  706.  
  707. gsalloc.$(OBJ): gsalloc.c $(GX) $(memory__h) \
  708.   $(gsstruct_h) $(gxalloc_h)
  709.  
  710. gsbitops.$(OBJ): gsbitops.c $(AK) $(std_h) $(memory__h) $(gsbitops_h)
  711.  
  712. gsbittab.$(OBJ): gsbittab.c $(AK) $(stdpre_h) $(gsbittab_h)
  713.  
  714. gsmemory.$(OBJ): gsmemory.c $(GX) \
  715.   $(gsrefct_h) $(gsstruct_h)
  716.  
  717. gsmisc.$(OBJ): gsmisc.c $(GXERR) $(gconfigv_h) \
  718.   $(math__h) $(memory__h) $(gxfarith_h) $(gxfixed_h)
  719.  
  720. gsutil.$(OBJ): gsutil.c $(AK) $(gconfigv_h) \
  721.   $(std_h) $(gsuid_h) $(gsutil_h)
  722.  
  723. ###### Low-level facilities and utilities
  724.  
  725. ### Include files
  726.  
  727. gdevmrop_h=gdevmrop.h
  728.  
  729. gsccode_h=gsccode.h
  730. gsccolor_h=gsccolor.h $(gsstruct_h)
  731. gscie_h=gscie.h $(gsrefct_h)
  732. gscolor1_h=gscolor.h
  733. gscoord_h=gscoord.h
  734. gscpm_h=gscpm.h
  735. gsdevice_h=gsdevice.h
  736. gsfont_h=gsfont.h
  737. gshsb_h=gshsb.h
  738. gsht_h=gsht.h
  739. gsht1_h=gsht1.h $(gsht_h)
  740. gsimage_h=gsimage.h
  741. gsjconf_h=gsjconf.h $(std_h)
  742. gslib_h=gslib.h $(stdio__h)
  743. gsline_h=gsline.h
  744. gsmatrix_h=gsmatrix.h
  745. gspaint_h=gspaint.h
  746. gsparam_h=gsparam.h
  747. gspath_h=gspath.h
  748. gspath2_h=gspath2.h
  749. gsropt_h=gsropt.h
  750. gsxfont_h=gsxfont.h
  751. # Out of order
  752. gschar_h=gschar.h $(gsccode_h) $(gscpm_h)
  753. gscolor2_h=gscolor2.h $(gsccolor_h) $(gsuid_h) $(gxbitmap_h)
  754.  
  755. gxchar_h=gxchar.h $(gschar_h)
  756. gxcindex_h=gxcindex.h
  757. gxclio_h=gxclio.h
  758. gxclist_h=gxclist.h $(gxclio_h)
  759. gxclip2_h=gxclip2.h
  760. gxcolor2_h=gxcolor2.h $(gscolor2_h) $(gsrefct_h) $(gxbitmap_h)
  761. gxcoord_h=gxcoord.h $(gscoord_h)
  762. gxcpath_h=gxcpath.h
  763. gxctable_h=gxctable.h
  764. gxdcolor_h=gxdcolor.h $(gsrefct_h) $(gsropt_h) $(gsstruct_h) $(gxbitmap_h) $(gxcindex_h)
  765. gxdda_h=gxdda.h
  766. gxdevice_h=gxdevice.h $(gsmatrix_h) $(gsropt_h) $(gsstruct_h) $(gsxfont_h) $(gxbitmap_h) $(gxcindex_h)
  767. gxdevmem_h=gxdevmem.h
  768. gxdht_h=gxdht.h
  769. gxdither_h=gxdither.h
  770. gxdraw_h=gxdraw.h
  771. gxfcache_h=gxfcache.h $(gsuid_h) $(gsxfont_h)
  772. gxfont_h=gxfont.h $(gsfont_h) $(gsuid_h) $(gsstruct_h)
  773. gxfont0_h=gxfont0.h
  774. gxfrac_h=gxfrac.h
  775. gxiodev_h=gxiodev.h $(stat__h)
  776. gxlum_h=gxlum.h
  777. gxmatrix_h=gxmatrix.h $(gsmatrix_h)
  778. gxpaint_h=gxpaint.h
  779. gxpath_h=gxpath.h $(gscpm_h) $(gspath_h)
  780. gxpcolor_h=gxpcolor.h
  781. gxtmap_h=gxtmap.h
  782. gxxfont_h=gxxfont.h $(gsccode_h) $(gsmatrix_h) $(gsuid_h) $(gsxfont_h)
  783. # The following are out of order because they include other files.
  784. gscspace_h=gscspace.h $(gsccolor_h) $(gsstruct_h) $(gxfrac_h)
  785. gxdcconv_h=gxdcconv.h $(gxfrac_h) $(gsccolor_h)
  786. gxfmap_h=gxfmap.h $(gsrefct_h) $(gxfrac_h) $(gxtmap_h)
  787. gxcmap_h=gxcmap.h $(gxfmap_h)
  788. gxht_h=gxht.h $(gsht1_h) $(gxtmap_h)
  789. gscolor_h=gscolor.h $(gxtmap_h)
  790. gsstate_h=gsstate.h $(gscolor_h) $(gsdevice_h) $(gsht_h) $(gsline_h)
  791.  
  792. gzcpath_h=gzcpath.h $(gxcpath_h)
  793. gzht_h=gzht.h $(gxdht_h) $(gxfmap_h) $(gxht_h)
  794. gzline_h=gzline.h $(gsline_h)
  795. gzpath_h=gzpath.h $(gsstruct_h) $(gxpath_h)
  796. gzstate_h=gzstate.h $(gsropt_h) $(gsstate_h) $(gxdcolor_h) $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gxtmap_h)
  797.  
  798. gdevprn_h=gdevprn.h $(memory__h) $(string__h) $(gx_h) \
  799.   $(gserrors_h) $(gsmatrix_h) $(gsutil_h) \
  800.   $(gxdevice_h) $(gxdevmem_h) $(gxclist_h)
  801.  
  802. scommon_h=scommon.h $(gsmemory_h) $(gstypes_h) $(gsstruct_h)
  803. shc_h=shc.h $(gsbittab_h)
  804. siscale_h=siscale.h
  805. slzwx_h=slzwx.h
  806. srlx_h=srlx.h
  807. strimpl_h=strimpl.h $(scommon_h) $(gstypes_h) $(gsstruct_h)
  808. # Out of order
  809. gximage_h=gximage.h $(gscspace_h) $(gsimage_h) $(gxdda_h) \
  810.   $(siscale_h) $(strimpl_h)
  811. gxcldev_h=gxcldev.h $(gxclist_h) $(gsropt_h) $(gxfixed_h) $(gzline_h) $(gzpath_h) \
  812.   $(strimpl_h) $(srlx_h)
  813. scf_h=scf.h $(shc_h)
  814. scfx_h=scfx.h $(shc_h)
  815.  
  816. ### Executable code
  817.  
  818. # gconfig is handled specially.  Currently it goes in psbase rather than
  819. # libcore, which is clearly wrong.
  820. gconfig=gconfig$(CONFIG)
  821. $(gconfig).$(OBJ): gconf.c $(GX) \
  822.   $(gscdefs_h) $(gconfig_h) $(gxdevice_h) $(gxiodev_h) $(MAKEFILE)
  823.     rm -f gconfig.h $(gconfig).c
  824.     cp $(gconfig_h) gconfig.h
  825.     cp $(srcdir)/gconf.c $(gconfig).c
  826.     $(CCC) -I. -I$(srcdir) $(gconfig).c
  827.     rm -f $(gconfig).c
  828.  
  829. gxacpath.$(OBJ): gxacpath.c $(GXERR) \
  830.   $(gsstruct_h) $(gxdevice_h) $(gxcpath_h) $(gxdcolor_h) $(gxfixed_h) \
  831.   $(gxpaint_h) $(gzcpath_h) $(gzpath_h)
  832.  
  833. gxccache.$(OBJ): gxccache.c $(GXERR) $(gpcheck_h) \
  834.   $(gscspace_h) $(gsimage_h) $(gsstruct_h) \
  835.   $(gxchar_h) $(gxdevmem_h) $(gxfcache_h) \
  836.   $(gxfixed_h) $(gxfont_h) $(gxmatrix_h) $(gxxfont_h) \
  837.   $(gzstate_h) $(gzpath_h) $(gzcpath_h) 
  838.  
  839. gxccman.$(OBJ): gxccman.c $(GXERR) $(gpcheck_h) \
  840.   $(gsbitops_h) $(gsstruct_h) $(gsutil_h) $(gxfixed_h) $(gxmatrix_h) \
  841.   $(gxdevmem_h) $(gxfont_h) $(gxfcache_h) $(gxchar_h) \
  842.   $(gxxfont_h) $(gzstate_h) $(gzpath_h)
  843.  
  844. gxcht.$(OBJ): gxcht.c $(GXERR) \
  845.   $(gsutil_h) \
  846.   $(gxcmap_h) $(gxdcolor_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gzht_h) $(gzstate_h)
  847.  
  848. gxcmap.$(OBJ): gxcmap.c $(GXERR) \
  849.   $(gsccolor_h) $(gscspace_h) \
  850.   $(gxcmap_h) $(gxdcconv_h) $(gxdevice_h) $(gxdither_h) \
  851.   $(gxfarith_h) $(gxfrac_h) $(gxlum_h) $(gzstate_h)
  852.  
  853. gxcpath.$(OBJ): gxcpath.c $(GXERR) \
  854.   $(gsstruct_h) $(gxdevice_h) $(gxfixed_h) $(gzpath_h) $(gzcpath_h)
  855.  
  856. gxdcconv.$(OBJ): gxdcconv.c $(GX) \
  857.   $(gxcmap_h) $(gxdcconv_h) $(gxdcolor_h) $(gxdevice_h) \
  858.   $(gxfarith_h) $(gxlum_h) $(gzstate_h)
  859.  
  860. gxdither.$(OBJ): gxdither.c $(GX) \
  861.   $(gsstruct_h) $(gxcmap_h) $(gxdcolor_h) $(gxdevice_h) $(gxdither_h) $(gxlum_h) $(gzht_h)
  862.  
  863. gxdraw.$(OBJ): gxdraw.c $(GXERR) $(math__h) $(gpcheck_h) \
  864.   $(gxbitmap_h) $(gxdraw_h) $(gxfixed_h) $(gxmatrix_h) $(gzht_h) $(gzstate_h)
  865.  
  866. gxfill.$(OBJ): gxfill.c $(GXERR) \
  867.   $(gsstruct_h) \
  868.   $(gxdevice_h) $(gxdraw_h) $(gxfixed_h) $(gxmatrix_h) $(gxpaint_h) \
  869.   $(gzcpath_h) $(gzpath_h) $(gzstate_h)
  870.  
  871. gxht.$(OBJ): gxht.c $(GXERR) \
  872.   $(gsbitops_h) $(gsstruct_h) $(gsutil_h) \
  873.   $(gxfixed_h) $(gxdevice_h) $(gzstate_h) $(gzht_h)
  874.  
  875. gxpath.$(OBJ): gxpath.c $(GXERR) \
  876.   $(gsstruct_h) $(gxfixed_h) $(gzpath_h)
  877.  
  878. gxpath2.$(OBJ): gxpath2.c $(GXERR) $(math__h) \
  879.   $(gxfixed_h) $(gxarith_h) $(gzpath_h)
  880.  
  881. gxpcopy.$(OBJ): gxpcopy.c $(GXERR) $(math__h) \
  882.   $(gsmatrix_h) $(gscoord_h) $(gxfixed_h) $(gxarith_h) $(gzline_h) $(gzpath_h)
  883.  
  884. gxstroke.$(OBJ): gxstroke.c $(GXERR) $(math__h) $(gpcheck_h) \
  885.   $(gscoord_h) \
  886.   $(gxdraw_h) $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gxpaint_h) \
  887.   $(gzline_h) $(gzpath_h) $(gzstate_h)
  888.  
  889. ###### High-level facilities
  890.  
  891. gschar.$(OBJ): gschar.c $(GXERR) \
  892.   $(gsstruct_h) \
  893.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gxcoord_h) $(gxdevmem_h) \
  894.   $(gxfont_h) $(gxfont0_h) $(gxchar_h) $(gxfcache_h) $(gzpath_h) $(gzstate_h)
  895.  
  896. gscolor.$(OBJ): gscolor.c $(GXERR) \
  897.   $(gsccolor_h) $(gscspace_h) $(gsstruct_h) \
  898.   $(gxcmap_h) $(gxdcconv_h) $(gxdevice_h) $(gzstate_h)
  899.  
  900. gscoord.$(OBJ): gscoord.c $(GXERR) $(math__h) \
  901.   $(gsccode_h) $(gxcoord_h) $(gxfarith_h) $(gxfixed_h) $(gxfont_h) \
  902.   $(gxmatrix_h) $(gxpath_h) $(gzstate_h)
  903.  
  904. gsdevice.$(OBJ): gsdevice.c $(GXERR) $(memory__h) \
  905.   $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gsparam_h) $(gspath_h) $(gsstruct_h) \
  906.   $(gxarith_h) $(gxbitmap_h) $(gxcmap_h) $(gxdevmem_h) $(gzstate_h)
  907.  
  908. gsdevmem.$(OBJ): gsdevmem.c $(GXERR) $(math__h) $(memory__h) \
  909.   $(gxarith_h) $(gxdevice_h) $(gxdevmem_h)
  910.  
  911. gsdparam.$(OBJ): gsdparam.c $(GXERR) $(memory__h) $(string__h) \
  912.   $(gsparam_h) $(gxdevice_h) $(gxfixed_h)
  913.  
  914. gsfont.$(OBJ): gsfont.c $(GXERR) \
  915.   $(gsstruct_h) \
  916.   $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfcache_h) \
  917.   $(gzstate_h)
  918.  
  919. gsht.$(OBJ): gsht.c $(GXERR) \
  920.   $(gsstruct_h) $(gxdevice_h) $(gzht_h) $(gzstate_h)
  921.  
  922. gshtscr.$(OBJ): gshtscr.c $(GXERR) $(math__h) \
  923.   $(gsstruct_h) $(gxarith_h) $(gxdevice_h) $(gzht_h) $(gzstate_h)
  924.  
  925. gsimage.$(OBJ): gsimage.c $(GXERR) $(math__h) $(gpcheck_h) \
  926.   $(gsccolor_h) $(gspaint_h) $(gsstruct_h) \
  927.   $(gxfixed_h) $(gxfrac_h) $(gxarith_h) $(gxmatrix_h) \
  928.   $(gxdevice_h) $(gzpath_h) $(gzstate_h) \
  929.   $(gzcpath_h) $(gxdevmem_h) $(gximage_h) $(gdevmrop_h)
  930.  
  931. gsimage0.$(OBJ): gsimage0.c $(GXERR) \
  932.   $(gxcpath_h) $(gxdevice_h) $(gxfixed_h) $(gximage_h) \
  933.   $(gzpath_h) $(gzstate_h)
  934.  
  935. gsimage1.$(OBJ): gsimage1.c $(GXERR) $(gpcheck_h) \
  936.   $(gsccolor_h) $(gscspace_h) $(gspaint_h) $(gsutil_h) \
  937.   $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdevmem_h) \
  938.   $(gxdraw_h) $(gxfixed_h) $(gximage_h) $(gxmatrix_h) \
  939.   $(gzht_h) $(gzpath_h) $(gzstate_h)
  940.  
  941. gsimage2.$(OBJ): gsimage2.c $(GXERR) $(gpcheck_h) \
  942.   $(gsccolor_h) $(gscspace_h) $(gspaint_h) \
  943.   $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdevmem_h) \
  944.   $(gxdraw_h) $(gxfixed_h) $(gximage_h) $(gxmatrix_h) \
  945.   $(gzht_h) $(gzpath_h) $(gzstate_h)
  946.  
  947. gsimage3.$(OBJ): gsimage3.c $(GXERR) $(gpcheck_h) \
  948.   $(gsccolor_h) $(gscspace_h) $(gspaint_h) \
  949.   $(gxarith_h) $(gxcmap_h) $(gxcpath_h) $(gxdevmem_h) \
  950.   $(gxdraw_h) $(gxfixed_h) $(gximage_h) $(gxmatrix_h) \
  951.   $(gzht_h) $(gzpath_h) $(gzstate_h)
  952.  
  953. gsimpath.$(OBJ): gsimpath.c $(GXERR) \
  954.   $(gsmatrix_h) $(gsstate_h) $(gspath_h)
  955.  
  956. gsinit.$(OBJ): gsinit.c $(memory__h) $(stdio__h) \
  957.   $(gdebug_h) $(gp_h) $(gslib_h) $(gsmemory_h)
  958.  
  959. gsiodev.$(OBJ): gsiodev.c $(GXERR) $(errno__h) $(string__h) \
  960.   $(gp_h) $(gsparam_h) $(gxiodev_h)
  961.  
  962. gsline.$(OBJ): gsline.c $(GXERR) $(math__h) \
  963.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzline_h)
  964.  
  965. gsmatrix.$(OBJ): gsmatrix.c $(GXERR) $(math__h) \
  966.   $(gxfarith_h) $(gxfixed_h) $(gxmatrix_h)
  967.  
  968. gspaint.$(OBJ): gspaint.c $(GXERR) $(gpcheck_h) \
  969.   $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gxpaint_h) \
  970.   $(gzpath_h) $(gzstate_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  971.  
  972. gsparam.$(OBJ): gspaint.c $(GXERR) $(memory__h) $(string__h) \
  973.   $(gsparam_h) $(gsstruct_h)
  974.  
  975. gspath.$(OBJ): gspath.c $(GXERR) \
  976.   $(gscoord_h) $(gxfixed_h) $(gxmatrix_h) \
  977.   $(gzcpath_h) $(gzpath_h) $(gzstate_h)
  978.  
  979. gsstate.$(OBJ): gsstate.c $(GXERR) \
  980.   $(gscie_h) $(gscolor2_h) $(gscoord_h) $(gscspace_h) $(gsstruct_h) \
  981.   $(gxcmap_h) \
  982.   $(gzstate_h) $(gzht_h) $(gzline_h) $(gzpath_h) $(gzcpath_h)
  983.  
  984. ###### The internal devices
  985.  
  986. gdevmem_h=gdevmem.h $(gsbitops_h)
  987.  
  988. gdevabuf.$(OBJ): gdevabuf.c $(GXERR) \
  989.   $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  990.  
  991. gdevmem.$(OBJ): gdevmem.c $(GXERR) \
  992.   $(gsstruct_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  993.  
  994. gdevm1.$(OBJ): gdevm1.c $(GX) \
  995.   $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  996.  
  997. gdevm2.$(OBJ): gdevm2.c $(GX) \
  998.   $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  999.  
  1000. gdevm4.$(OBJ): gdevm4.c $(GX) \
  1001.   $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1002.  
  1003. gdevm8.$(OBJ): gdevm8.c $(GX) \
  1004.   $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1005.  
  1006. gdevm16.$(OBJ): gdevm16.c $(GX) \
  1007.   $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1008.  
  1009. gdevm24.$(OBJ): gdevm24.c $(GX) \
  1010.   $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1011.  
  1012. gdevm32.$(OBJ): gdevm32.c $(GX) \
  1013.   $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1014.  
  1015. gdevmpla.$(OBJ): gdevmpla.c $(GX) \
  1016.   $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  1017.  
  1018. # Create a pseudo-"feature" for the entire graphics core library.
  1019.  
  1020. LIB1=gsalloc.$(OBJ) gsbitops.$(OBJ) gsbittab.$(OBJ)
  1021. LIB2=gschar.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) gsdevice.$(OBJ) gsdevmem.$(OBJ)
  1022. LIB3=gsdparam.$(OBJ) gsfont.$(OBJ) gsht.$(OBJ) gshtscr.$(OBJ)
  1023. LIB4=gsimage.$(OBJ) gsimage0.$(OBJ) gsimage1.$(OBJ) gsimage2.$(OBJ) gsimage3.$(OBJ)
  1024. LIB5=gsimpath.$(OBJ) gsinit.$(OBJ) gsiodev.$(OBJ)
  1025. LIB6=gsline.$(OBJ) gsmatrix.$(OBJ) gsmemory.$(OBJ) gsmisc.$(OBJ)
  1026. LIB7=gspaint.$(OBJ) gsparam.$(OBJ) gspath.$(OBJ) gsstate.$(OBJ) gsutil.$(OBJ)
  1027. LIB8=gxacpath.$(OBJ) gxccache.$(OBJ) gxccman.$(OBJ)
  1028. LIB9=gxcht.$(OBJ) gxcmap.$(OBJ) gxcpath.$(OBJ)
  1029. LIB10=gxdcconv.$(OBJ) gxdither.$(OBJ) gxdraw.$(OBJ) gxfill.$(OBJ)
  1030. LIB11=gxht.$(OBJ) gxpath.$(OBJ) gxpath2.$(OBJ) gxpcopy.$(OBJ) gxstroke.$(OBJ)
  1031. LIB12=gdevabuf.$(OBJ) gdevmem.$(OBJ) gdevm1.$(OBJ) gdevm2.$(OBJ) gdevm4.$(OBJ)
  1032. LIB13=gdevm8.$(OBJ) gdevm16.$(OBJ) gdevm24.$(OBJ) gdevm32.$(OBJ)
  1033. LIB14=gdevmpla.$(OBJ)
  1034. LIB_ALL=$(LIB1) $(LIB2) $(LIB3) $(LIB4) $(LIB5) $(LIB6) $(LIB7) $(LIB8) \
  1035.   $(LIB9) $(LIB10) $(LIB11) $(LIB12) $(LIB13) $(LIB14)
  1036. libcore.dev: $(LIB_MAK) $(ECHOGS_XE) $(LIB_ALL) iscale.dev ropcore.dev
  1037.     $(EXP)echogs -w libcore.dev $(LIB1)
  1038.     $(EXP)echogs -a libcore.dev $(LIB2)
  1039.     $(EXP)echogs -a libcore.dev $(LIB3)
  1040.     $(EXP)echogs -a libcore.dev $(LIB4)
  1041.     $(EXP)echogs -a libcore.dev $(LIB5)
  1042.     $(EXP)echogs -a libcore.dev $(LIB6)
  1043.     $(EXP)echogs -a libcore.dev $(LIB7)
  1044.     $(EXP)echogs -a libcore.dev $(LIB8)
  1045.     $(EXP)echogs -a libcore.dev $(LIB9)
  1046.     $(EXP)echogs -a libcore.dev $(LIB10)
  1047.     $(EXP)echogs -a libcore.dev $(LIB11)
  1048.     $(EXP)echogs -a libcore.dev $(LIB12)
  1049.     $(EXP)echogs -a libcore.dev $(LIB13)
  1050.     $(EXP)echogs -a libcore.dev $(LIB14)
  1051.     $(ADDMOD) libcore -dev nullpage
  1052.     $(ADDMOD) libcore -include iscale ropcore
  1053.  
  1054. # ---------------- CCITTFax filters ---------------- #
  1055. # These are used by some drivers, as well as by Level 2 in general.
  1056. # Someday we may use them for compressing characters in the cache.
  1057.  
  1058. cfe_=scfe.$(OBJ) scfetab.$(OBJ) shc.$(OBJ)
  1059. cfe.dev: $(LIB_MAK) $(ECHOGS_XE) $(cfe_)
  1060.     $(SETMOD) cfe $(cfe_)
  1061.  
  1062. scfe.$(OBJ): scfe.c $(AK) $(stdio__h) $(gdebug_h)\
  1063.   $(scf_h) $(strimpl_h) $(scfx_h)
  1064.  
  1065. scfetab.$(OBJ): scfetab.c $(AK) $(std_h) $(scommon_h) $(scf_h)
  1066.  
  1067. shc.$(OBJ): shc.c $(AK) $(std_h) $(shc_h)
  1068.  
  1069. cfd_=scfd.$(OBJ) scfdtab.$(OBJ)
  1070. cfd.dev: $(LIB_MAK) $(ECHOGS_XE) $(cfd_)
  1071.     $(SETMOD) cfd $(cfd_)
  1072.  
  1073. scfd.$(OBJ): scfd.c $(AK) $(stdio__h) $(gdebug_h)\
  1074.   $(scf_h) $(strimpl_h) $(scfx_h)
  1075.  
  1076. scfdtab.$(OBJ): scfdtab.c $(AK) $(std_h) $(scommon_h) $(scf_h)
  1077.  
  1078. # ---------------- RunLength filters ---------------- #
  1079. # These are used by clists and also by Level 2 in general.
  1080.  
  1081. rle_=srle.$(OBJ)
  1082. rle.dev: $(LIB_MAK) $(ECHOGS_XE) $(rle_)
  1083.     $(SETMOD) rle $(rle_)
  1084.  
  1085. srle.$(OBJ): srld.c $(AK) $(stdio__h) $(memory__h) \
  1086.   $(srlx_h) $(strimpl_h)
  1087.  
  1088. rld_=srld.$(OBJ)
  1089. rld.dev: $(LIB_MAK) $(ECHOGS_XE) $(rld_)
  1090.     $(SETMOD) rld $(rld_)
  1091.  
  1092. srld.$(OBJ): srld.c $(AK) $(stdio__h) $(memory__h) \
  1093.   $(srlx_h) $(strimpl_h)
  1094.  
  1095. # ---------------- LZW filters ---------------- #
  1096. # These are used by clists and also by Level 2 in general.
  1097.  
  1098. #lzwe_=slzwce.$(OBJ)
  1099. lzwe_=slzwe.$(OBJ) slzwc.$(OBJ)
  1100. lzwe.dev: $(LIB_MAK) $(ECHOGS_XE) $(lzwe_)
  1101.     $(SETMOD) lzwe $(lzwe_)
  1102.  
  1103. slzwce.$(OBJ): slzwce.c $(AK) $(stdio__h) $(gdebug_h)\
  1104.   $(slzwx_h) $(strimpl_h)
  1105.  
  1106. slzwe.$(OBJ): slzwe.c $(AK) $(stdio__h) $(gdebug_h)\
  1107.   $(slzwx_h) $(strimpl_h)
  1108.  
  1109. slzwc.$(OBJ): slzwc.c $(AK) $(std_h)\
  1110.   $(slzwx_h) $(strimpl_h)
  1111.  
  1112. lzwd_=slzwd.$(OBJ) slzwc.$(OBJ)
  1113. lzwd.dev: $(LIB_MAK) $(ECHOGS_XE) $(lzwd_)
  1114.     $(SETMOD) lzwd $(lzwd_)
  1115.  
  1116. slzwd.$(OBJ): slzwd.c $(AK) $(stdio__h) $(gdebug_h)\
  1117.   $(slzwx_h) $(strimpl_h)
  1118.  
  1119. # ---------------- Command lists ---------------- #
  1120.  
  1121. # Choose between clfile and clmem.  Someday this might be dynamic....
  1122. cl_impl=clfile
  1123. clist_=gxclist.$(OBJ) gxclread.$(OBJ)
  1124. clist.dev: $(LIB_MAK) $(ECHOGS_XE) $(clist_) $(cl_impl).dev rle.dev rld.dev
  1125.     $(SETMOD) clist $(clist_)
  1126.     $(ADDMOD) clist -include $(cl_impl) rle rld
  1127.  
  1128. gxclist.$(OBJ): gxclist.c $(GXERR) $(gpcheck_h) \
  1129.   $(gsbitops_h) $(gsmatrix_h) $(gsutil_h) \
  1130.   $(gxbitmap_h) $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h)
  1131.  
  1132. gxclread.$(OBJ): gxclread.c $(GXERR) $(gpcheck_h) \
  1133.   $(gsbitops_h) $(gsdevice_h) $(gsmatrix_h) \
  1134.   $(gxbitmap_h) $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h)
  1135.  
  1136. # Implement band lists on files.
  1137.  
  1138. clfile_=gxclfile.$(OBJ)
  1139. clfile.dev: $(LIB_MAK) $(ECHOGS_XE) $(clfile_)
  1140.     $(SETMOD) clfile $(clfile_)
  1141.  
  1142. gxclfile.$(OBJ): gxclfile.c $(stdio__h) $(string__h) \
  1143.   $(gp_h) $(gsmemory_h) $(gserror_h) $(gserrors_h) $(gxclio_h)
  1144.  
  1145. # Implement band lists in memory (RAM).
  1146.  
  1147. clmem_=gxclmem.$(OBJ)
  1148. clmem.dev: $(LIB_MAK) $(ECHOGS_XE) $(clmem_) lzwe.dev lzwd.dev
  1149.     $(SETMOD) clmem $(clmem_)
  1150.     $(ADDMOD) clmem -include lzwe lzwd
  1151.  
  1152. gxclmem_h=gxclmem.h $(gxclio_h)
  1153.  
  1154. gxclmem.$(OBJ): gxclmem.c $(GXERR) \
  1155.   $(gxclmem_h)
  1156.  
  1157. # ---------------- Page devices ---------------- #
  1158. # We include this here, rather than in devs.mak, because it is more like
  1159. # a feature than a simple device.
  1160.  
  1161. page_=gdevprn.$(OBJ)
  1162. page.dev: $(LIB_MAK) $(ECHOGS_XE) $(page_) clist.dev
  1163.     $(SETMOD) page $(page_)
  1164.     $(ADDMOD) page -include clist
  1165.  
  1166. gdevprn.$(OBJ): gdevprn.c $(ctype__h) \
  1167.   $(gdevprn_h) $(gp_h) $(gsparam_h) $(gxclio_h)
  1168.  
  1169. # ---------------- Image scaling filter ---------------- #
  1170. # Currently this module is required even in Level 1 systems,
  1171. # but it should be optional in Level 1 and required only in Level 2.
  1172.  
  1173. iscale_=siscale.$(OBJ)
  1174. iscale.dev: $(LIB_MAK) $(ECHOGS_XE) $(iscale_)
  1175.     $(SETMOD) iscale $(iscale_)
  1176.  
  1177. siscale.$(OBJ): siscale.c $(AK) $(math__h) $(memory__h) $(stdio__h) \
  1178.   $(siscale_h) $(strimpl_h)
  1179.  
  1180. # ---------------- RasterOp et al ---------------- #
  1181. # Currently this module is required, but it should be optional.
  1182.  
  1183. gsrop_h=gsrop.h $(gsropt_h)
  1184.  
  1185. ropcore_=gdevmrop.$(OBJ) gsrop.$(OBJ) gsroptab.$(OBJ)
  1186. ropcore.dev: $(LIB_MAK) $(ECHOGS_XE) $(ropcore_)
  1187.     $(SETMOD) ropcore $(ropcore_)
  1188.  
  1189. gdevmrop.$(OBJ): gdevmrop.c $(GXERR) $(memory__h) \
  1190.   $(gsbittab_h) $(gsropt_h) \
  1191.   $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h) $(gdevmrop_h)
  1192.  
  1193. gsrop.$(OBJ): gsrop.c $(GXERR) \
  1194.   $(gsrop_h) $(gzstate_h)
  1195.  
  1196. gsroptab.$(OBJ): gsroptab.c $(stdpre_h) $(gsropt_h)
  1197.     $(CCLEAF) $(srcdir)/gsroptab.c
  1198.  
  1199. # -------- Composite (PostScript Type 0) font support -------- #
  1200.  
  1201. psf0core_=gschar0.$(OBJ) gsfont0.$(OBJ)
  1202. psf0core.dev: $(LIB_MAK) $(ECHOGS_XE) $(psf0core_)
  1203.     $(SETMOD) psf0core $(psf0core_)
  1204.  
  1205. gschar0.$(OBJ): gschar0.c $(GXERR) \
  1206.   $(gsstruct_h) $(gxfixed_h) $(gxdevice_h) $(gxdevmem_h) \
  1207.   $(gxfont_h) $(gxfont0_h) $(gxchar_h)
  1208.  
  1209. gsfont0.$(OBJ): gsfont0.c $(GXERR) \
  1210.   $(gsmatrix_h) $(gsstruct_h) $(gxfixed_h) $(gxdevmem_h) $(gxfcache_h) \
  1211.   $(gxfont_h) $(gxfont0_h) $(gxchar_h) $(gxdevice_h)
  1212.  
  1213. # ---------------- Pattern color ---------------- #
  1214.  
  1215. patcore_=gspcolor.$(OBJ) gxclip2.$(OBJ) gxpcmap.$(OBJ)
  1216. patcore.dev: $(LIB_MAK) $(ECHOGS_XE) cmykcore.dev psl2core.dev $(patcore_)
  1217.     $(SETMOD) patcore -include cmykcore psl2core
  1218.     $(ADDMOD) patcore -obj $(patcore_)
  1219.  
  1220. gspcolor.$(OBJ): gspcolor.c $(GXERR) $(math__h) \
  1221.   $(gscspace_h) $(gsimage_h) $(gsstruct_h) $(gsutil_h) \
  1222.   $(gxarith_h) $(gxcolor2_h) $(gxcoord_h) $(gxclip2_h) \
  1223.   $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) \
  1224.   $(gxfixed_h) $(gxmatrix_h) $(gxpath_h) $(gxpcolor_h) $(gzstate_h)
  1225.  
  1226. gxclip2.$(OBJ): gxclip2.c $(GXERR) $(memory__h) \
  1227.   $(gsstruct_h) $(gxclip2_h) $(gxdevice_h) $(gxdevmem_h)
  1228.  
  1229. gxpcmap.$(OBJ): gxpcmap.c $(GXERR) \
  1230.   $(gsstruct_h) $(gscspace_h) $(gsutil_h) \
  1231.   $(gxcolor2_h) $(gxdcolor_h) $(gxdevice_h) $(gxdevmem_h) $(gxfixed_h) \
  1232.   $(gxmatrix_h) $(gxpcolor_h) $(gzstate_h)
  1233.  
  1234. # ---------------- PostScript Type 1 (and Type 4) fonts ---------------- #
  1235.  
  1236. psf1core_=gstype1.$(OBJ) gxhint1.$(OBJ) gxhint2.$(OBJ) gxhint3.$(OBJ)
  1237. psf1core.dev: $(LIB_MAK) $(ECHOGS_XE) $(psf1core_)
  1238.     $(SETMOD) psf1core $(psf1core_)
  1239.  
  1240. gscrypt1_h=gscrypt1.h
  1241. gstype1_h=gstype1.h
  1242. gxfont1_h=gxfont1.h
  1243. gxop1_h=gxop1.h
  1244. gxtype1_h=gxtype1.h $(gscrypt1_h) $(gstype1_h)
  1245.  
  1246. gstype1.$(OBJ): gstype1.c $(GXERR) $(math__h) \
  1247.   $(gsstruct_h) \
  1248.   $(gxarith_h) $(gxcoord_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h) $(gxdevmem_h) \
  1249.   $(gxfont_h) $(gxfont1_h) $(gxop1_h) $(gxtype1_h) \
  1250.   $(gzstate_h) $(gzpath_h)
  1251.  
  1252. gxhint1.$(OBJ): gxhint1.c $(GXERR) \
  1253.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxdevmem_h) $(gxchar_h) \
  1254.   $(gxfont_h) $(gxfont1_h) $(gxtype1_h) \
  1255.   $(gzstate_h)
  1256.  
  1257. gxhint2.$(OBJ): gxhint2.c $(GXERR) \
  1258.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxdevmem_h) $(gxchar_h) \
  1259.   $(gxfont_h) $(gxfont1_h) $(gxtype1_h) $(gxop1_h) \
  1260.   $(gzstate_h)
  1261.  
  1262. gxhint3.$(OBJ): gxhint3.c $(GXERR) \
  1263.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxdevmem_h) $(gxchar_h) \
  1264.   $(gxfont_h) $(gxfont1_h) $(gxtype1_h) $(gxop1_h) \
  1265.   $(gxpath_h) $(gzstate_h)
  1266.  
  1267. # -------- Level 1 color extensions (CMYK color and colorimage) -------- #
  1268.  
  1269. cmykcore_=gscolor1.$(OBJ) gsht1.$(OBJ)
  1270. cmykcore.dev: $(LIB_MAK) $(ECHOGS_XE) $(cmykcore_)
  1271.     $(SETMOD) cmykcore $(cmykcore_)
  1272.  
  1273. gscolor1.$(OBJ): gscolor1.c $(GXERR) \
  1274.   $(gsccolor_h) $(gscolor1_h) $(gscspace_h) $(gsstruct_h) \
  1275.   $(gxcmap_h) $(gxdcconv_h) $(gxdevice_h) \
  1276.   $(gzstate_h)
  1277.  
  1278. gsht1.$(OBJ): gsht1.c $(GXERR) \
  1279.   $(gsstruct_h) $(gxdevice_h) $(gzht_h) $(gzstate_h)
  1280.  
  1281. # ---------------- Level 2 color space support ---------------- #
  1282.  
  1283. psl2core_=gscolor2.$(OBJ)
  1284. psl2core.dev: $(LIB_MAK) $(ECHOGS_XE) $(psl2core_)
  1285.     $(SETMOD) psl2core $(psl2core_)
  1286.  
  1287. gscolor2.$(OBJ): gscolor2.c $(GXERR) \
  1288.   $(gscspace_h) \
  1289.   $(gxarith_h) $(gxcolor2_h) $(gxfixed_h) $(gxmatrix_h) \
  1290.   $(gzstate_h)
  1291.  
  1292. # ---------------- Display Postscript / Level 2 support ---------------- #
  1293.  
  1294. dps2core_=gsdps1.$(OBJ)
  1295. dps2core.dev: $(LIB_MAK) $(ECHOGS_XE) $(dps2core_)
  1296.     $(SETMOD) dps2core $(dps2core_)
  1297.  
  1298. gsdps1.$(OBJ): gsdps1.c $(GXERR) $(math__h) \
  1299.   $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gspath2_h) \
  1300.   $(gxfixed_h) $(gxmatrix_h) $(gzpath_h) $(gzstate_h)
  1301.  
  1302. # ---------------- CIE color ---------------- #
  1303.  
  1304. ciecore_=gscie.$(OBJ) gxctable.$(OBJ)
  1305. ciecore.dev: $(LIB_MAK) $(ECHOGS_XE) $(ciecore_)
  1306.     $(SETMOD) ciecore $(ciecore_)
  1307.  
  1308. gscie.$(OBJ): gscie.c $(GXERR) $(math__h) \
  1309.   $(gscspace_h) $(gscie_h) $(gscolor2_h) $(gsmatrix_h) $(gsstruct_h) \
  1310.   $(gxarith_h) $(gxcmap_h) $(gxdevice_h) $(gzstate_h)
  1311.  
  1312. gxctable.$(OBJ): gxctable.c $(GX) \
  1313.   $(gxfixed_h) $(gxfrac_h) $(gxctable_h)
  1314.  
  1315. # ---------------- Separation colors ---------------- #
  1316.  
  1317. seprcore_=gscsepr.$(OBJ)
  1318. seprcore.dev: $(LIB_MAK) $(ECHOGS_XE) $(seprcore_)
  1319.     $(SETMOD) seprcore $(seprcore_)
  1320.  
  1321. gscsepr.$(OBJ): gscsepr.c $(GXERR) \
  1322.   $(gscspace_h) $(gsmatrix_h) $(gsrefct_h) $(gxcolor2_h) $(gxfixed_h)
  1323.  
  1324. # ----------------------- Platform-specific modules ----------------------- #
  1325. # Platform-specific code doesn't really belong here: this is code that is
  1326. # shared among multiple platforms.
  1327.  
  1328. # Frame buffer implementations.
  1329.  
  1330. gp_nofb.$(OBJ): gp_nofb.c $(GX) \
  1331.   $(gp_h) $(gxdevice_h)
  1332.  
  1333. gp_dosfb.$(OBJ): gp_dosfb.c $(AK) $(memory__h) \
  1334.   $(gx_h) $(gp_h) $(gserrors_h) $(gxdevice_h)
  1335.  
  1336. # MS-DOS file system, also used by Desqview/X.
  1337. gp_dosfs.$(OBJ): gp_dosfs.c $(AK) $(dos__h) $(gp_h) $(gx_h)
  1338.  
  1339. # MS-DOS file enumeration, *not* used by Desqview/X.
  1340. gp_dosfe.$(OBJ): gp_dosfe.c $(AK) $(stdio__h) $(memory__h) $(string__h) \
  1341.   $(dos__h) $(gstypes_h) $(gsmemory_h) $(gsstruct_h) $(gp_h) $(gsutil_h)
  1342.  
  1343. # Other MS-DOS facilities.
  1344. gp_msdos.$(OBJ): gp_msdos.c $(AK) $(dos__h) \
  1345.   $(gsmemory_h) $(gstypes_h) $(gp_h)
  1346.  
  1347. # Unix(-like) file system, also used by Desqview/X.
  1348. gp_unifs.$(OBJ): gp_unifs.c $(AK) $(memory__h) $(string__h) $(gx_h) $(gp_h) \
  1349.   $(gsstruct_h) $(gsutil_h) $(stat__h) $(dirent__h)
  1350.  
  1351. # Unix(-like) file name syntax, *not* used by Desqview/X.
  1352. gp_unifn.$(OBJ): gp_unifn.c $(AK) $(gx_h) $(gp_h)
  1353.  
  1354. # Misc Libnix Amiga stuff
  1355. ami_open.$(OBJ): ami_open.c
  1356.  
  1357. # ----------------------------- Main program ------------------------------ #
  1358.  
  1359. # Main program for library testing
  1360.  
  1361. gslib.$(OBJ): gslib.c $(AK) $(math__h) \
  1362.   $(gx_h) $(gp_h) $(gserrors_h) $(gsmatrix_h) $(gsstate_h) $(gscspace_h) \
  1363.   $(gscolor2_h) $(gscoord_h) $(gsparam_h) \
  1364.   $(gspaint_h) $(gspath_h) $(gsstruct_h) $(gsutil_h) \
  1365.   $(gxalloc_h) $(gxdevice_h)
  1366. #    Copyright (C) 1995 Aladdin Enterprises.  All rights reserved.
  1367. # This file is part of Aladdin Ghostscript.
  1368. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  1369. # or distributor accepts any responsibility for the consequences of using it,
  1370. # or for whether it serves any particular purpose or works at all, unless he
  1371. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  1372. # License (the "License") for full details.
  1373. # Every copy of Aladdin Ghostscript must include a copy of the License,
  1374. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  1375. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  1376. # under certain conditions described in the License.  Among other things, the
  1377. # License requires that the copyright notice and this notice be preserved on
  1378. # all copies.
  1379.  
  1380. # (Platform-independent) makefile for language interpreters.
  1381. # See the end of gs.mak for where this fits into the build process.
  1382.  
  1383. # Define the name of this makefile.
  1384. INT_MAK=int.mak
  1385.  
  1386. # ======================== Interpreter support ======================== #
  1387.  
  1388. # This is support code for all interpreters, not just PostScript and PDF.
  1389. # It knows about the PostScript data types, but isn't supposed to
  1390. # depend on anything outside itself.
  1391.  
  1392. errors_h=errors.h
  1393. idebug_h=idebug.h
  1394. idict_h=idict.h
  1395. igc_h=igc.h
  1396. iname_h=iname.h
  1397. inamedef_h=inamedef.h $(gconfigv_h) $(iname_h)
  1398. ipacked_h=ipacked.h
  1399. iref_h=iref.h
  1400. isave_h=isave.h
  1401. isstate_h=isstate.h
  1402. istruct_h=istruct.h $(gsstruct_h)
  1403. ivmspace_h=ivmspace.h
  1404. opdef_h=opdef.h
  1405. # Nested include files
  1406. ghost_h=ghost.h $(gx_h) $(iref_h)
  1407. imemory_h=imemory.h $(ivmspace_h)
  1408. ialloc_h=ialloc.h $(imemory_h)
  1409. iastruct_h=iastruct.h $(gxobj_h) $(ialloc_h)
  1410. iastate_h=iastate.h $(gxalloc_h) $(ialloc_h) $(istruct_h)
  1411. store_h=store.h $(ialloc_h)
  1412.  
  1413. GH=$(AK) $(ghost_h)
  1414.  
  1415. isupport1_=ialloc.$(OBJ) igc.$(OBJ) igcref.$(OBJ) igcstr.$(OBJ)
  1416. isupport2_=ilocate.$(OBJ) iname.$(OBJ) isave.$(OBJ)
  1417. isupport_=$(isupport1_) $(isupport2_)
  1418. isupport.dev: $(INT_MAK) $(ECHOGS_XE) $(isupport_)
  1419.     $(SETMOD) isupport $(isupport1_)
  1420.     $(ADDMOD) isupport -obj $(isupport2_)
  1421.  
  1422. ialloc.$(OBJ): ialloc.c $(AK) $(gx_h) \
  1423.   $(errors_h) $(gsstruct_h) $(gxarith_h) \
  1424.   $(iastate_h) $(iref_h) $(ivmspace_h) $(store_h)
  1425.  
  1426. # igc.c, igcref.c, and igcstr.c should really be in the dpsand2 list,
  1427. # but since all the GC enumeration and relocation routines refer to them,
  1428. # it's too hard to separate them out from the Level 1 base.
  1429. igc.$(OBJ): igc.c $(GH) \
  1430.   $(errors_h) $(gsexit_h) $(gsstruct_h) $(gsutil_h) \
  1431.   $(iastate_h) $(idict_h) $(igc_h) $(inamedef_h) \
  1432.   $(ipacked_h) $(isave_h) $(isstate_h) $(istruct_h) $(opdef_h) $(store_h)
  1433.  
  1434. igcref.$(OBJ): igcref.c $(GH) \
  1435.   $(gsexit_h) $(iastate_h) $(idebug_h) $(igc_h) $(iname_h) $(ipacked_h)
  1436.  
  1437. igcstr.$(OBJ): igcstr.c $(GH) \
  1438.   $(gsstruct_h) $(iastate_h) $(igc_h)
  1439.  
  1440. ilocate.$(OBJ): ilocate.c $(GH) $(memory__h) \
  1441.   $(errors_h) $(gsexit_h) $(gsstruct_h) \
  1442.   $(iastate_h) $(igc_h) $(iname_h) $(ipacked_h) $(isstate_h) $(ivmspace_h) \
  1443.   $(store_h)
  1444.  
  1445. iname.$(OBJ): iname.c $(GH) $(memory__h) $(string__h) \
  1446.   $(gsstruct_h) $(errors_h) $(imemory_h) $(inamedef_h) $(isave_h) $(store_h)
  1447.  
  1448. isave.$(OBJ): isave.c $(GH) \
  1449.   $(errors_h) $(gsexit_h) $(gsstruct_h) $(gsutil_h) \
  1450.   $(iastate_h) $(inamedef_h) $(isave_h) $(isstate_h) $(ivmspace_h) \
  1451.   $(ipacked_h) $(store_h)
  1452.  
  1453. ### Include files
  1454.  
  1455. idparam_h=idparam.h
  1456. ilevel_h=ilevel.h
  1457. iparam_h=iparam.h $(gsparam_h)
  1458. istack_h=istack.h
  1459. iutil_h=iutil.h
  1460. opcheck_h=opcheck.h
  1461. opextern_h=opextern.h
  1462. # Nested include files
  1463. dstack_h=dstack.h $(istack_h)
  1464. estack_h=estack.h $(istack_h)
  1465. ostack_h=ostack.h $(istack_h)
  1466. oper_h=oper.h $(iutil_h) $(opcheck_h) $(opdef_h) $(opextern_h) $(ostack_h)
  1467.  
  1468. idebug.$(OBJ): idebug.c $(GH) \
  1469.   $(ialloc_h) $(idebug_h) $(idict_h) $(iname_h) $(istack_h) $(iutil_h) $(ivmspace_h) \
  1470.   $(ostack_h) $(opdef_h) $(ipacked_h) $(store_h)
  1471.  
  1472. idict.$(OBJ): idict.c $(GH) $(errors_h) \
  1473.   $(ialloc_h) $(idebug_h) $(ivmspace_h) $(inamedef_h) $(ipacked_h) \
  1474.   $(isave_h) $(store_h) $(iutil_h) $(idict_h) $(dstack_h)
  1475.  
  1476. idparam.$(OBJ): idparam.c $(GH) $(errors_h) \
  1477.   $(gsmatrix_h) $(gsuid_h) \
  1478.   $(idict_h) $(idparam_h) $(ilevel_h) $(imemory_h) $(iname_h) $(iutil_h) \
  1479.   $(oper_h) $(store_h)
  1480.  
  1481. iparam.$(OBJ): iparam.c $(GH) \
  1482.   $(ialloc_h) $(idict_h) $(iname_h) $(imemory_h) $(iparam_h) $(istack_h) $(iutil_h) $(ivmspace_h) \
  1483.   $(opcheck_h) $(store_h)
  1484.  
  1485. istack.$(OBJ): istack.c $(GH) $(memory__h) \
  1486.   $(errors_h) $(gsstruct_h) $(gsutil_h) \
  1487.   $(ialloc_h) $(istack_h) $(istruct_h) $(iutil_h) $(ivmspace_h) $(store_h)
  1488.  
  1489. iutil.$(OBJ): iutil.c $(GH) $(math__h) $(memory__h) $(string__h) \
  1490.   $(errors_h) $(idict_h) $(imemory_h) $(iutil_h) $(ivmspace_h) \
  1491.   $(iname_h) $(ipacked_h) $(store_h) \
  1492.   $(gsmatrix_h) $(gsutil_h)
  1493.  
  1494. # ======================== PostScript Level 1 ======================== #
  1495.  
  1496. ###### Include files
  1497.  
  1498. files_h=files.h
  1499. fname_h=fname.h
  1500. imain_h=imain.h $(gsexit_h)
  1501. iminst_h=iminst.h $(imain_h)
  1502. ichar_h=ichar.h
  1503. icolor_h=icolor.h
  1504. icsmap_h=icsmap.h
  1505. ifont_h=ifont.h $(gsstruct_h)
  1506. interp_h=interp.h
  1507. iparray_h=iparray.h
  1508. iscan_h=iscan.h
  1509. iscannum_h=iscannum.h
  1510. istream_h=istream.h
  1511. main_h=main.h $(iminst_h)
  1512. overlay_h=overlay.h
  1513. sbtx_h=sbtx.h
  1514. sbwbs_h=sbwbs.h
  1515. scanchar_h=scanchar.h
  1516. sdct_h=sdct.h
  1517. sfilter_h=sfilter.h $(gstypes_h)
  1518. shcgen_h=shcgen.h
  1519. sjpeg_h=sjpeg.h
  1520. smtf_h=smtf.h
  1521. spdiffx_h=spdiffx.h
  1522. stream_h=stream.h $(scommon_h)
  1523. # Nested include files
  1524. bfont_h=bfont.h $(ifont_h)
  1525. ifilter_h=ifilter.h $(istream_h) $(ivmspace_h)
  1526. igstate_h=igstate.h $(gsstate_h) $(istruct_h)
  1527. sbhc_h=sbhc.h $(shc_h)
  1528. # Include files for optional features
  1529. ibnum_h=ibnum.h
  1530.  
  1531. ### Initialization and scanning
  1532.  
  1533. iconfig=iconfig$(CONFIG)
  1534. $(iconfig).$(OBJ): iconf.c $(stdio__h) \
  1535.   $(gconfig_h) $(gscdefs_h) \
  1536.   $(files_h) $(imain_h) $(iref_h) $(ivmspace_h) $(opdef_h) $(stream_h)
  1537.     rm -f gconfig.h $(iconfig).c
  1538.     cp $(gconfig_h) gconfig.h
  1539.     cp $(srcdir)/iconf.c $(iconfig).c
  1540.     $(CCC) -I. -I$(srcdir) $(iconfig).c
  1541.     rm -f $(iconfig).c
  1542.  
  1543. iinit.$(OBJ): iinit.c $(GH) \
  1544.   $(gscdefs_h) $(gsexit_h) $(gsstruct_h) \
  1545.   $(ialloc_h) $(idict_h) $(dstack_h) $(errors_h) \
  1546.   $(ilevel_h) $(iname_h) $(interp_h) $(opdef_h) \
  1547.   $(ipacked_h) $(iparray_h) $(iutil_h) $(ivmspace_h) $(store_h)
  1548.  
  1549. iscan.$(OBJ): iscan.c $(GH) $(ctype__h) \
  1550.   $(ialloc_h) $(idict_h) $(dstack_h) $(errors_h) $(files_h) \
  1551.   $(ilevel_h) $(iutil_h) $(iscan_h) $(iscannum_h) $(istruct_h) $(ivmspace_h) \
  1552.   $(iname_h) $(ipacked_h) $(iparray_h) $(istream_h) $(ostack_h) $(store_h) \
  1553.   $(stream_h) $(strimpl_h) $(sfilter_h) $(scanchar_h)
  1554.  
  1555. iscannum.$(OBJ): iscannum.c $(GH) $(math__h) \
  1556.   $(errors_h) $(iscannum_h) $(scanchar_h) $(store_h) $(stream_h)
  1557.  
  1558. iscantab.$(OBJ): iscantab.c $(AK) \
  1559.   $(stdpre_h) $(scommon_h) $(scanchar_h)
  1560.  
  1561. ### Streams
  1562.  
  1563. # Define which implementation of files we are using (sfile or sfileno).
  1564. # This can be overridden on the `make' command line.
  1565. #sfile_impl=sfileno
  1566. sfile_impl=sfile
  1567.  
  1568. sfile.$(OBJ): sfile.c $(AK) $(stdio__h) $(memory__h) \
  1569.   $(gdebug_h) $(gpcheck_h) $(stream_h) $(strimpl_h)
  1570.  
  1571. sfileno.$(OBJ): sfileno.c $(AK) $(stdio__h) $(errno__h) $(memory__h) \
  1572.   $(gdebug_h) $(gpcheck_h) $(stream_h) $(strimpl_h)
  1573.  
  1574. sfilter1.$(OBJ): sfilter1.c $(AK) $(stdio__h) $(memory__h) \
  1575.   $(sfilter_h) $(strimpl_h)
  1576.  
  1577. sstring.$(OBJ): sstring.c $(AK) $(stdio__h) $(memory__h) \
  1578.   $(scanchar_h) $(sfilter_h) $(strimpl_h)
  1579.  
  1580. stream.$(OBJ): stream.c $(AK) $(stdio__h) $(memory__h) \
  1581.   $(gdebug_h) $(gpcheck_h) $(stream_h) $(strimpl_h)
  1582.  
  1583. ###### Operators
  1584.  
  1585. OP=$(GH) $(errors_h) $(oper_h)
  1586.  
  1587. ### Non-graphics operators
  1588.  
  1589. zarith.$(OBJ): zarith.c $(OP) $(math__h) $(store_h)
  1590.  
  1591. zarray.$(OBJ): zarray.c $(OP) $(ialloc_h) $(ipacked_h) $(store_h)
  1592.  
  1593. zcontrol.$(OBJ): zcontrol.c $(OP) \
  1594.   $(estack_h) $(ipacked_h) $(iutil_h) $(store_h)
  1595.  
  1596. zdict.$(OBJ): zdict.c $(OP) \
  1597.   $(dstack_h) $(idict_h) $(ilevel_h) $(iname_h) $(ipacked_h) $(ivmspace_h) \
  1598.   $(store_h)
  1599.  
  1600. zfile.$(OBJ): zfile.c $(OP) $(stat__h) $(gp_h) \
  1601.   $(gsstruct_h) $(gxiodev_h) \
  1602.   $(ialloc_h) $(estack_h) $(files_h) $(fname_h) $(ilevel_h) $(interp_h) $(iutil_h) \
  1603.   $(isave_h) $(main_h) $(sfilter_h) $(stream_h) $(strimpl_h) $(store_h)
  1604.  
  1605. zfname.$(OBJ): zfname.c $(OP) \
  1606.   $(fname_h) $(gxiodev_h) $(ialloc_h) $(stream_h)
  1607.  
  1608. zfileio.$(OBJ): zfileio.c $(OP) $(gp_h) \
  1609.   $(files_h) $(ifilter_h) $(store_h) $(stream_h) $(strimpl_h) \
  1610.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  1611.  
  1612. zfilter.$(OBJ): zfilter.c $(OP) \
  1613.   $(gsstruct_h) $(files_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) \
  1614.   $(sfilter_h) $(srlx_h) $(stream_h) $(strimpl_h)
  1615.  
  1616. zfproc.$(OBJ): zfproc.c $(GH) $(errors_h) $(oper_h) \
  1617.   $(estack_h) $(files_h) $(gsstruct_h) $(ialloc_h) $(ifilter_h) $(istruct_h) \
  1618.   $(store_h) $(stream_h) $(strimpl_h)
  1619.  
  1620. zgeneric.$(OBJ): zgeneric.c $(OP) \
  1621.   $(idict_h) $(estack_h) $(ivmspace_h) $(iname_h) $(ipacked_h) $(store_h)
  1622.  
  1623. ziodev.$(OBJ): ziodev.c $(OP) $(string__h) $(gp_h) $(gpcheck_h) \
  1624.   $(gsstruct_h) $(gxiodev_h) \
  1625.   $(files_h) $(ialloc_h) $(ivmspace_h) $(store_h) $(stream_h)
  1626.  
  1627. zmath.$(OBJ): zmath.c $(OP) $(math__h) $(gxfarith_h) $(store_h)
  1628.  
  1629. zmisc.$(OBJ): zmisc.c $(OP) $(gscdefs_h) $(gp_h) \
  1630.   $(errno__h) $(memory__h) $(string__h) \
  1631.   $(ialloc_h) $(idict_h) $(dstack_h) $(iname_h) $(ivmspace_h) $(ipacked_h) $(store_h)
  1632.  
  1633. zpacked.$(OBJ): zpacked.c $(OP) \
  1634.   $(ialloc_h) $(idict_h) $(ivmspace_h) $(iname_h) $(ipacked_h) $(iparray_h) \
  1635.   $(istack_h) $(store_h)
  1636.  
  1637. zrelbit.$(OBJ): zrelbit.c $(OP) $(gsutil_h) $(store_h) $(idict_h)
  1638.  
  1639. zstack.$(OBJ): zstack.c $(OP) $(ialloc_h) $(istack_h) $(store_h)
  1640.  
  1641. zstring.$(OBJ): zstring.c $(OP) $(gsutil_h) \
  1642.   $(ialloc_h) $(iname_h) $(ivmspace_h) $(store_h)
  1643.  
  1644. zsysvm.$(OBJ): zsysvm.c $(OP)
  1645.  
  1646. ztoken.$(OBJ): ztoken.c $(OP) \
  1647.   $(estack_h) $(files_h) $(gsstruct_h) $(iscan_h) \
  1648.   $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  1649.  
  1650. ztype.$(OBJ): ztype.c $(OP) $(math__h) \
  1651.   $(dstack_h) $(idict_h) $(imemory_h) $(iname_h) \
  1652.   $(iscan_h) $(iutil_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  1653.  
  1654. zvmem.$(OBJ): zvmem.c $(OP) \
  1655.   $(ialloc_h) $(idict_h) $(dstack_h) $(estack_h) $(isave_h) $(igstate_h) $(store_h) \
  1656.   $(gsmatrix_h) $(gsstate_h) $(gsstruct_h)
  1657.  
  1658. ### Graphics operators
  1659.  
  1660. zchar.$(OBJ): zchar.c $(OP) \
  1661.   $(gsstruct_h) $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) \
  1662.   $(gschar_h) $(gxdevice_h) $(gxfont_h) $(gzpath_h) $(gzstate_h) \
  1663.   $(ialloc_h) $(ichar_h) $(idict_h) $(ifont_h) $(estack_h) $(ilevel_h) $(iname_h) $(igstate_h) $(store_h)
  1664.  
  1665. zcolor.$(OBJ): zcolor.c $(OP) \
  1666.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gxdevice_h) $(gxcmap_h) \
  1667.   $(ialloc_h) $(icolor_h) $(estack_h) $(iutil_h) $(igstate_h) $(store_h)
  1668.  
  1669. zdevice.$(OBJ): zdevice.c $(OP) \
  1670.   $(ialloc_h) $(idict_h) $(igstate_h) $(iname_h) $(interp_h) $(iparam_h) $(ivmspace_h) \
  1671.   $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(store_h)
  1672.  
  1673. zfont.$(OBJ): zfont.c $(OP) \
  1674.   $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) $(gxfcache_h) \
  1675.   $(ialloc_h) $(idict_h) $(igstate_h) $(iname_h) $(isave_h) $(ivmspace_h) \
  1676.   $(bfont_h) $(store_h)
  1677.  
  1678. zfont2.$(OBJ): zfont2.c $(OP) \
  1679.   $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
  1680.   $(ialloc_h) $(bfont_h) $(idict_h) $(idparam_h) $(ilevel_h) $(iname_h) $(istruct_h) \
  1681.   $(ipacked_h) $(store_h)
  1682.  
  1683. zgstate.$(OBJ): zgstate.c $(OP) \
  1684.   $(gsmatrix_h) $(ialloc_h) $(idict_h) $(igstate_h) $(istruct_h) $(store_h)
  1685.  
  1686. zht.$(OBJ): zht.c $(OP) \
  1687.   $(gsmatrix_h) $(gsstate_h) $(gsstruct_h) $(gxdevice_h) $(gzht_h) \
  1688.   $(ialloc_h) $(estack_h) $(igstate_h) $(store_h)
  1689.  
  1690. zmatrix.$(OBJ): zmatrix.c $(OP) $(gsmatrix_h) $(igstate_h) $(gscoord_h) $(store_h)
  1691.  
  1692. zpaint.$(OBJ): zpaint.c $(OP) \
  1693.   $(estack_h) $(ialloc_h) $(ifilter_h) $(igstate_h) $(ilevel_h) \
  1694.   $(gscspace_h) $(gsimage_h) $(gsmatrix_h) $(gspaint_h) $(gsstruct_h) \
  1695.   $(store_h) $(stream_h)
  1696.  
  1697. zpath.$(OBJ): zpath.c $(OP) $(math__h) \
  1698.   $(gsmatrix_h) $(gspath_h) $(igstate_h) $(store_h)
  1699.  
  1700. # Define the base PostScript language interpreter.
  1701. # This is the subset of PostScript Level 1 required by our PDF reader.
  1702.  
  1703. INT1=idebug.$(OBJ) idict.$(OBJ) idparam.$(OBJ) iinit.$(OBJ)
  1704. INT2=interp.$(OBJ) iparam.$(OBJ) ireclaim.$(OBJ)
  1705. INT3=iscan.$(OBJ) iscannum.$(OBJ) iscantab.$(OBJ) istack.$(OBJ) iutil.$(OBJ)
  1706. INT4=$(sfile_impl).$(OBJ) sfilter1.$(OBJ) sstring.$(OBJ) stream.$(OBJ)
  1707. Z1=zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ)
  1708. Z1OPS=zarith zarray zcontrol zdict
  1709. Z2=zfile.$(OBJ) zfileio.$(OBJ) zfilter.$(OBJ) zfname.$(OBJ) zfproc.$(OBJ)
  1710. Z2OPS=zfile zfileio zfilter zfproc
  1711. Z3=zgeneric.$(OBJ) ziodev.$(OBJ) zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ)
  1712. Z3OPS=zgeneric ziodev zmath zmisc zpacked
  1713. Z4=zrelbit.$(OBJ) zstack.$(OBJ) zstring.$(OBJ) zsysvm.$(OBJ)
  1714. Z4OPS=zrelbit zstack zstring zsysvm
  1715. Z5=ztoken.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ)
  1716. Z5OPS=ztoken ztype zvmem
  1717. Z6=zchar.$(OBJ) zcolor.$(OBJ) zdevice.$(OBJ) zfont.$(OBJ) zfont2.$(OBJ)
  1718. Z6OPS=zchar zcolor zdevice zfont zfont2
  1719. Z7=zgstate.$(OBJ) zht.$(OBJ) zmatrix.$(OBJ) zpaint.$(OBJ) zpath.$(OBJ)
  1720. Z7OPS=zgstate zht zmatrix zpaint zpath
  1721. # We have to be a little underhanded with *config.$(OBJ) so as to avoid
  1722. # circular definitions.
  1723. INT_OBJS=gsmain.$(OBJ) \
  1724.   $(INT1) $(INT2) $(INT3) $(INT4) \
  1725.   $(Z1) $(Z2) $(Z3) $(Z4) $(Z5) $(Z6) $(Z7)
  1726. INT_CONFIG=$(gconfig).$(OBJ) $(iconfig).$(OBJ) iccinit$(COMPILE_INITS).$(OBJ)
  1727. INT_ALL=$(INT_OBJS) $(INT_CONFIG)
  1728. # We omit libcore.dev, which should be included here, because problems
  1729. # with the Unix linker require libcore to appear last in the link list
  1730. # when libcore is really a library.
  1731. # We omit $(INT_CONFIG) from the dependency list because they have special
  1732. # dependency requirements and are added to the link list at the very end.
  1733. # zfilter.c shouldn't include the RLE and RLD filters, but we don't want to
  1734. # change this now.
  1735. psbase.dev: $(INT_MAK) $(ECHOGS_XE) $(INT_OBJS) isupport.dev rld.dev rle.dev
  1736.     $(SETMOD) psbase gsmain.$(OBJ)
  1737.     $(ADDMOD) psbase -obj $(INT_CONFIG)
  1738.     $(ADDMOD) psbase -obj $(INT1)
  1739.     $(ADDMOD) psbase -obj $(INT2)
  1740.     $(ADDMOD) psbase -obj $(INT3)
  1741.     $(ADDMOD) psbase -obj $(INT4)
  1742.     $(ADDMOD) psbase -obj $(Z1)
  1743.     $(ADDMOD) psbase -oper $(Z1OPS)
  1744.     $(ADDMOD) psbase -obj $(Z2)
  1745.     $(ADDMOD) psbase -oper $(Z2OPS)
  1746.     $(ADDMOD) psbase -obj $(Z3)
  1747.     $(ADDMOD) psbase -oper $(Z3OPS)
  1748.     $(ADDMOD) psbase -obj $(Z4)
  1749.     $(ADDMOD) psbase -oper $(Z4OPS)
  1750.     $(ADDMOD) psbase -obj $(Z5)
  1751.     $(ADDMOD) psbase -oper $(Z5OPS)
  1752.     $(ADDMOD) psbase -obj $(Z6)
  1753.     $(ADDMOD) psbase -oper $(Z6OPS)
  1754.     $(ADDMOD) psbase -obj $(Z7)
  1755.     $(ADDMOD) psbase -oper $(Z7OPS)
  1756.     $(ADDMOD) psbase -iodev stdin stdout stderr lineedit statementedit
  1757.     $(ADDMOD) psbase -include isupport rld rle
  1758.  
  1759. # -------------------------- Feature definitions -------------------------- #
  1760.  
  1761. # ---------------- Full Level 1 interpreter ---------------- #
  1762.  
  1763. level1.dev: $(INT_MAK) $(ECHOGS_XE) psbase.dev bcp.dev hsb.dev path1.dev type1.dev
  1764.     $(SETMOD) level1 -include psbase bcp hsb path1 type1
  1765.     $(ADDMOD) level1 -emulator PostScript PostScriptLevel1
  1766.  
  1767. # -------- Level 1 color extensions (CMYK color and colorimage) -------- #
  1768.  
  1769. color.dev: $(INT_MAK) $(ECHOGS_XE) cmykcore.dev cmykread.dev
  1770.     $(SETMOD) color -include cmykcore cmykread
  1771.  
  1772. cmykread_=zcolor1.$(OBJ) zht1.$(OBJ)
  1773. cmykread.dev: $(INT_MAK) $(ECHOGS_XE) $(cmykread_)
  1774.     $(SETMOD) cmykread $(cmykread_)
  1775.     $(ADDMOD) cmykread -oper zcolor1 zht1
  1776.  
  1777. zcolor1.$(OBJ): zcolor1.c $(OP) \
  1778.   $(gscolor1_h) $(gscspace_h) $(gxfixed_h) $(gxmatrix_h) \
  1779.   $(gzstate_h) $(gxdevice_h) $(gxcmap_h) \
  1780.   $(ialloc_h) $(icolor_h) $(estack_h) $(iutil_h) $(igstate_h) $(store_h)
  1781.  
  1782. zht1.$(OBJ): zht1.c $(OP) \
  1783.   $(gsmatrix_h) $(gsstate_h) $(gsstruct_h) $(gxdevice_h) $(gzht_h) \
  1784.   $(ialloc_h) $(estack_h) $(igstate_h) $(store_h)
  1785.  
  1786. # ---------------- HSB color ---------------- #
  1787.  
  1788. hsb_=gshsb.$(OBJ) zhsb.$(OBJ)
  1789. hsb.dev: $(INT_MAK) $(ECHOGS_XE) $(hsb_)
  1790.     $(SETMOD) hsb $(hsb_)
  1791.     $(ADDMOD) hsb -oper zhsb
  1792.  
  1793. gshsb.$(OBJ): gshsb.c $(GX) \
  1794.   $(gscolor_h) $(gshsb_h) $(gxfrac_h)
  1795.  
  1796. zhsb.$(OBJ): zhsb.c $(OP) \
  1797.   $(gshsb_h) $(igstate_h) $(store_h)
  1798.  
  1799. # ---------------- Level 1 path facilities ---------------- #
  1800.  
  1801. path1_=gspath1.$(OBJ) zpath1.$(OBJ)
  1802. path1.dev: $(INT_MAK) $(ECHOGS_XE) $(path1_)
  1803.     $(SETMOD) path1 $(path1_)
  1804.     $(ADDMOD) path1 -oper zpath1
  1805.  
  1806. gspath1.$(OBJ): gspath1.c $(GXERR) $(math__h) \
  1807.   $(gscoord_h) $(gsstruct_h) $(gxfarith_h) $(gxfixed_h) $(gxmatrix_h) \
  1808.   $(gzstate_h) $(gzpath_h)
  1809.  
  1810. zpath1.$(OBJ): zpath1.c $(OP) \
  1811.   $(ialloc_h) $(estack_h) $(gspath_h) $(gsstruct_h) $(igstate_h) $(store_h)
  1812.  
  1813. # ================ Level-independent PostScript options ================ #
  1814.  
  1815. # ---------------- BCP filters ---------------- #
  1816.  
  1817. bcp_=sbcp.$(OBJ) zfbcp.$(OBJ)
  1818. bcp.dev: $(INT_MAK) $(ECHOGS_XE) $(bcp_)
  1819.     $(SETMOD) bcp $(bcp_)
  1820.     $(ADDMOD) bcp -oper zfbcp
  1821.  
  1822. sbcp.$(OBJ): sbcp.c $(AK) $(stdio__h) \
  1823.   $(sfilter_h) $(strimpl_h)
  1824.  
  1825. zfbcp.$(OBJ): zfbcp.c $(OP) \
  1826.   $(gsstruct_h) $(ialloc_h) $(ifilter_h) \
  1827.   $(sfilter_h) $(stream_h) $(strimpl_h)
  1828.  
  1829. # ---------------- Double-precision floats ---------------- #
  1830.  
  1831. double_=zdouble.$(OBJ)
  1832. double.dev: $(INT_MAK) $(ECHOGS_XE) $(double_)
  1833.     $(SETMOD) double $(double_)
  1834.     $(ADDMOD) double -oper zdouble
  1835.  
  1836. zdouble.$(OBJ): zdouble.c $(OP) $(ctype__h) $(math__h) $(memory__h) $(string__h) \
  1837.   $(gxfarith_h) $(store_h)
  1838.  
  1839. # ---------------- RasterOp ---------------- #
  1840. # This should be a separable feature in the core also....
  1841.  
  1842. rasterop.dev: $(INT_MAK) $(ECHOGS_XE) ropcore.dev ropread.dev
  1843.     $(SETMOD) rasterop -include ropcore ropread
  1844.  
  1845. ropread_=zrop.$(OBJ)
  1846. ropread.dev: $(INT_MAK) $(ECHOGS_XE) $(ropread_)
  1847.     $(SETMOD) ropread $(ropread_)
  1848.     $(ADDMOD) ropread -oper zrop
  1849.  
  1850. zrop.$(OBJ): zrop.c $(OP) $(memory__h) \
  1851.   $(gsrop_h) $(gxdevice_h) $(idict_h) $(idparam_h) $(igstate_h) $(store_h)
  1852.  
  1853. # ---------------- PostScript Type 1 (and Type 4) fonts ---------------- #
  1854.  
  1855. type1.dev: $(INT_MAK) $(ECHOGS_XE) psf1core.dev psf1read.dev
  1856.     $(SETMOD) type1 -include psf1core psf1read
  1857.  
  1858. psf1read_=seexec.$(OBJ) zchar1.$(OBJ) zfont1.$(OBJ) zmisc1.$(OBJ)
  1859. psf1read.dev: $(INT_MAK) $(ECHOGS_XE) $(psf1read_)
  1860.     $(SETMOD) psf1read $(psf1read_)
  1861.     $(ADDMOD) psf1read -oper zchar1 zfont1 zmisc1
  1862.     $(ADDMOD) psf1read -ps gs_type1
  1863.  
  1864. seexec.$(OBJ): seexec.c $(AK) $(stdio__h) \
  1865.   $(gscrypt1_h) $(scanchar_h) $(sfilter_h) $(strimpl_h)
  1866.  
  1867. zchar1.$(OBJ): zchar1.c $(OP) \
  1868.   $(gsstruct_h) $(gxfixed_h) $(gxmatrix_h) \
  1869.   $(gschar_h) $(gxdevice_h) $(gxfont_h) $(gxfont1_h) $(gxtype1_h) \
  1870.   $(ialloc_h) $(ichar_h) $(idict_h) $(estack_h) $(ifont_h) $(igstate_h) \
  1871.   $(store_h)
  1872.  
  1873. zfont1.$(OBJ): zfont1.c $(OP) \
  1874.   $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) $(gxfont1_h) \
  1875.   $(bfont_h) $(ialloc_h) $(idict_h) $(idparam_h) $(store_h)
  1876.  
  1877. zmisc1.$(OBJ): zmisc1.c $(OP) \
  1878.   $(gscrypt1_h) $(ifilter_h) $(sfilter_h) $(stream_h) $(strimpl_h)
  1879.  
  1880. # ---------------- Obsolete PPM writing facility ---------------- #
  1881.  
  1882. writeppm_=zwppm.$(OBJ)
  1883. writeppm.dev: $(INT_MAK) $(ECHOGS_XE) $(writeppm_)
  1884.     $(SETMOD) writeppm $(writeppm_)
  1885.     $(ADDMOD) writeppm -oper zwppm
  1886.  
  1887. zwppm.$(OBJ): zwppm.c $(OP) $(memory__h) \
  1888.   $(files_h) $(gscdefs_h) $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) \
  1889.   $(stream_h)
  1890.  
  1891. # ======================== Precompilation options ======================== #
  1892.  
  1893. # ---------------- Precompiled fonts ---------------- #
  1894. # See fonts.doc for more information.
  1895.  
  1896. ccfont_h=ccfont.h $(std_h) $(gsmemory_h) $(iref_h) $(ivmspace_h) $(store_h)
  1897.  
  1898. CCFONT=$(OP) $(ccfont_h)
  1899.  
  1900. # List the fonts we are going to compile.
  1901. # Because of intrinsic limitations in `make', we have to list
  1902. # the object file names and the font names separately.
  1903. # Because of limitations in the DOS shell, we have to break the fonts up
  1904. # into lists that will fit on a single line (120 characters).
  1905. # The rules for constructing the .c files from the fonts themselves,
  1906. # and for compiling the .c files, are in cfonts.mak, not here.
  1907. # For example, to compile the Courier fonts, you should invoke
  1908. #    make -f cfonts.mak Courier_o
  1909. ccfonts_ps=gs_ccfnt
  1910. ccfonts1_=pagk.$(OBJ) pagko.$(OBJ) pagd.$(OBJ) pagdo.$(OBJ)
  1911. ccfonts1=agk agko agd agdo
  1912. ccfonts2_=pbkl.$(OBJ) pbkli.$(OBJ) pbkd.$(OBJ) pbkdi.$(OBJ)
  1913. ccfonts2=bkl bkli bkd bkdi
  1914. # The free distribution includes Bitstream Charter;
  1915. # the standard distribution has additional Helvetica Narrow variants.
  1916. ccfonts3free_=bchr.$(OBJ) bchri.$(OBJ) bchb.$(OBJ) bchbi.$(OBJ)
  1917. ccfonts3free=chr chri chb chbi
  1918. ccfonts3std_=phvrorn.$(OBJ) phvbrn.$(OBJ) phvborn.$(OBJ)
  1919. ccfonts3std=hvrorn hvbrn hvborn
  1920. ccfonts4_=ncrr.$(OBJ) ncri.$(OBJ) ncrb.$(OBJ) ncrbi.$(OBJ)
  1921. ccfonts4=crr cri crb crbi
  1922. ccfonts5_=phvr.$(OBJ) phvro.$(OBJ) phvb.$(OBJ) phvbo.$(OBJ) phvrrn.$(OBJ)
  1923. ccfonts5=hvr hvro hvb hvbo hvrrn
  1924. ccfonts6_=pncr.$(OBJ) pncri.$(OBJ) pncb.$(OBJ) pncbi.$(OBJ)
  1925. ccfonts6=ncr ncri ncb ncbi
  1926. ccfonts7_=pplr.$(OBJ) pplri.$(OBJ) pplb.$(OBJ) pplbi.$(OBJ)
  1927. ccfonts7=plr plri plb plbi
  1928. ccfonts8_=psyr.$(OBJ) ptmr.$(OBJ) ptmri.$(OBJ) ptmb.$(OBJ) ptmbi.$(OBJ)
  1929. ccfonts8=syr tmr tmri tmb tmbi
  1930. # The free distribution has Zapf Chancery plain, Oblique and Bold;
  1931. # the standard distribution has only Medium Italic.
  1932. # Both have Zapf Dingbats.
  1933. ccfonts9free_=zcr.$(OBJ) zcro.$(OBJ) zcb.$(OBJ) pzdr.$(OBJ)
  1934. ccfonts9free=zcr zcro zcb zdr
  1935. ccfonts9std_=zcmi.$(OBJ) pzdr.$(OBJ)
  1936. ccfonts9std=zcmi zdr
  1937. # Add your own fonts here if desired.
  1938. ccfonts10_=
  1939. ccfonts10=
  1940. ccfonts11_=
  1941. ccfonts11=
  1942. ccfonts12_=
  1943. ccfonts12=
  1944. ccfonts13_=
  1945. ccfonts13=
  1946. ccfonts14_=
  1947. ccfonts14=
  1948. ccfonts15_=
  1949. ccfonts15=
  1950. # Select either standard or free configuration here.
  1951. # By default, we select the standard configuration.
  1952. #ccfonts3_=$(ccfonts3free_)
  1953. #ccfonts3=$(ccfonts3free)
  1954. #ccfonts9_=$(ccfonts9free_)
  1955. #ccfonts9=$(ccfonts9free)
  1956. ccfonts3_=$(ccfonts3std_)
  1957. ccfonts3=$(ccfonts3std)
  1958. ccfonts9_=$(ccfonts9std_)
  1959. ccfonts9=$(ccfonts9std)
  1960.  
  1961. # It's OK for ccfonts_.dev not to be CONFIG-dependent, because it only
  1962. # exists during the execution of the following rule.
  1963. $(gconfigf_h): $(MAKEFILE) $(INT_MAK) $(GENCONF_XE)
  1964.     $(SETMOD) ccfonts_ -font $(ccfonts1)
  1965.     $(ADDMOD) ccfonts_ -font $(ccfonts2)
  1966.     $(ADDMOD) ccfonts_ -font $(ccfonts3)
  1967.     $(ADDMOD) ccfonts_ -font $(ccfonts4)
  1968.     $(ADDMOD) ccfonts_ -font $(ccfonts5)
  1969.     $(ADDMOD) ccfonts_ -font $(ccfonts6)
  1970.     $(ADDMOD) ccfonts_ -font $(ccfonts7)
  1971.     $(ADDMOD) ccfonts_ -font $(ccfonts8)
  1972.     $(ADDMOD) ccfonts_ -font $(ccfonts9)
  1973.     $(ADDMOD) ccfonts_ -font $(ccfonts10)
  1974.     $(ADDMOD) ccfonts_ -font $(ccfonts11)
  1975.     $(ADDMOD) ccfonts_ -font $(ccfonts12)
  1976.     $(ADDMOD) ccfonts_ -font $(ccfonts13)
  1977.     $(ADDMOD) ccfonts_ -font $(ccfonts14)
  1978.     $(ADDMOD) ccfonts_ -font $(ccfonts15)
  1979.     $(EXP)genconf ccfonts_.dev -f $(gconfigf_h)
  1980.  
  1981. # We separate ccfontab.dev from ccfonts.dev so that a customer can put
  1982. # compiled fonts into a separate shared library.
  1983.  
  1984. ccfontab=ccfontab$(CONFIG)
  1985.  
  1986. # Define ccfont_table separately, so it can be set from the command line
  1987. # to select an alternate compiled font table.
  1988. ccfont_table=$(ccfontab)
  1989.  
  1990. $(ccfontab).dev: $(MAKEFILE) $(INT_MAK) $(ECHOGS_XE) $(ccfontab).$(OBJ) \
  1991.   $(ccfonts1_) $(ccfonts2_) $(ccfonts3_) $(ccfonts4_) $(ccfonts5_) \
  1992.   $(ccfonts6_) $(ccfonts7_) $(ccfonts8_) $(ccfonts9_) $(ccfonts10_) \
  1993.   $(ccfonts11_) $(ccfonts12_) $(ccfonts13_) $(ccfonts14_) $(ccfonts15_)
  1994.     $(SETMOD) $(ccfontab) -obj $(ccfontab).$(OBJ)
  1995.     $(ADDMOD) $(ccfontab) -obj $(ccfonts1_)
  1996.     $(ADDMOD) $(ccfontab) -obj $(ccfonts2_)
  1997.     $(ADDMOD) $(ccfontab) -obj $(ccfonts3_)
  1998.     $(ADDMOD) $(ccfontab) -obj $(ccfonts4_)
  1999.     $(ADDMOD) $(ccfontab) -obj $(ccfonts5_)
  2000.     $(ADDMOD) $(ccfontab) -obj $(ccfonts6_)
  2001.     $(ADDMOD) $(ccfontab) -obj $(ccfonts7_)
  2002.     $(ADDMOD) $(ccfontab) -obj $(ccfonts8_)
  2003.     $(ADDMOD) $(ccfontab) -obj $(ccfonts9_)
  2004.     $(ADDMOD) $(ccfontab) -obj $(ccfonts10_)
  2005.     $(ADDMOD) $(ccfontab) -obj $(ccfonts11_)
  2006.     $(ADDMOD) $(ccfontab) -obj $(ccfonts12_)
  2007.     $(ADDMOD) $(ccfontab) -obj $(ccfonts13_)
  2008.     $(ADDMOD) $(ccfontab) -obj $(ccfonts14_)
  2009.     $(ADDMOD) $(ccfontab) -obj $(ccfonts15_)
  2010.  
  2011. $(ccfontab).$(OBJ): ccfontab.c $(AK) $(ccfont_h) $(gconfigf_h)
  2012.     cp $(gconfigf_h) gconfigf.h
  2013.     $(CCCF) ccfontab.c
  2014.  
  2015. # Strictly speaking, ccfonts shouldn't need to include type1,
  2016. # since one could choose to precompile only Type 0 fonts,
  2017. # but getting this exactly right would be too much work.
  2018. ccfonts=ccfonts$(CONFIG)
  2019. $(ccfonts).dev: $(MAKEFILE) $(INT_MAK) type1.dev iccfont.$(OBJ) \
  2020.   $(ccfont_table).dev
  2021.     $(SETMOD) $(ccfonts) -include type1
  2022.     $(ADDMOD) $(ccfonts) -include $(ccfont_table)
  2023.     $(ADDMOD) $(ccfonts) -obj iccfont.$(OBJ)
  2024.     $(ADDMOD) $(ccfonts) -oper ccfonts
  2025.     $(ADDMOD) $(ccfonts) -ps $(ccfonts_ps)
  2026.  
  2027. iccfont.$(OBJ): iccfont.c $(GH) \
  2028.   $(gsstruct_h) $(ccfont_h) $(errors_h) \
  2029.   $(ialloc_h) $(idict_h) $(ifont_h) $(iname_h) $(isave_h) $(iutil_h) \
  2030.   $(oper_h) $(ostack_h) $(store_h) $(stream_h) $(strimpl_h) $(sfilter_h) $(iscan_h)
  2031.     $(CCCF) iccfont.c
  2032.  
  2033. # ---------------- Compiled initialization code ---------------- #
  2034.  
  2035. # We select either iccinit0 or iccinit1 depending on COMPILE_INITS.
  2036.  
  2037. iccinit0.$(OBJ): iccinit0.c $(stdpre_h)
  2038.     $(CCCF) -I. -I$(srcdir) $(srcdir)/iccinit0.c
  2039.  
  2040. iccinit1.$(OBJ): gs_init.$(OBJ)
  2041.     cp gs_init.$(OBJ) iccinit1.$(OBJ)
  2042.  
  2043. # All the gs_*.ps files should be prerequisites of gs_init.c,
  2044. # but we don't have any convenient list of them.
  2045. gs_init.c: $(GS_INIT) $(GENINIT_XE) $(gconfig_h)
  2046.     cp $(srcdir)/gs_*.ps .
  2047.     $(EXP)geninit $(GS_INIT) $(gconfig_h) -c gs_init.c
  2048.  
  2049. gs_init.$(OBJ): gs_init.c $(stdpre_h)
  2050.     $(CCCF) -I. -I$(srcdir) -O0 gs_init.c
  2051.  
  2052. # ======================== PostScript Level 2 ======================== #
  2053.  
  2054. ###### Include files
  2055.  
  2056. iutil2_h=iutil2.h
  2057.  
  2058. ### In addition to the true Level 2 configuration, we define a 'minimal'
  2059. ### Level 2 that can be used with -dDEBUG in the 16-bit Windows environment.
  2060. ### This also requires trimming down the sizes of the stacks in interp.c.
  2061.  
  2062. lev2min.dev: $(INT_MAK) $(ECHOGS_XE) \
  2063.   psbase.dev cie.dev compfont.dev dctd.dev devctrl.dev color.dev \
  2064.   dps2core.dev dps2read.dev fdecode.dev path1.dev type1.dev \
  2065.   pattern.dev psl2core.dev psl2read.dev
  2066.     $(SETMOD) lev2min -include psbase cie compfont dctd devctrl color
  2067.     $(ADDMOD) lev2min -include dps2core dps2read fdecode path1 type1
  2068.     $(ADDMOD) lev2min -include pattern psl2core psl2read
  2069.     $(ADDMOD) lev2min -emulator PostScript PostScriptLevel1 PostScriptLevel2
  2070.  
  2071. level2.dev: $(INT_MAK) $(ECHOGS_XE) \
  2072.   cie.dev compfont.dev dct.dev devctrl.dev dpsand2.dev filter.dev \
  2073.   level1.dev pattern.dev psl2core.dev psl2read.dev sepr.dev xfilter.dev
  2074.     $(SETMOD) level2 -include cie compfont dct devctrl dpsand2 filter
  2075.     $(ADDMOD) level2 -include level1 pattern psl2core psl2read sepr xfilter
  2076.     $(ADDMOD) level2 -emulator PostScript PostScriptLevel2
  2077.  
  2078. psl2read1_=iutil2.$(OBJ) zcolor2.$(OBJ) zcsindex.$(OBJ)
  2079. psl2read2_=zht2.$(OBJ) zimage2.$(OBJ) zmisc2.$(OBJ)
  2080. psl2read_=$(psl2read1_) $(psl2read2_)
  2081. # Note that zmisc2 includes both Level 1 and Level 2 operators.
  2082. psl2read.dev: $(INT_MAK) $(ECHOGS_XE) $(psl2read_)
  2083.     $(SETMOD) psl2read $(psl2read1_)
  2084.     $(ADDMOD) psl2read -obj $(psl2read2_)
  2085.     $(ADDMOD) psl2read -oper zmisc2
  2086.     $(ADDMOD) psl2read -oper zcolor2_l2 zcsindex_l2
  2087.     $(ADDMOD) psl2read -oper zht2_l2 zimage2_l2
  2088.     $(ADDMOD) psl2read -ps gs_lev2 gs_res
  2089.  
  2090. iutil2.$(OBJ): iutil2.c $(GXERR) $(memory__h) \
  2091.   $(gsparam_h) $(gsutil_h) \
  2092.   $(opcheck_h) $(idict_h) $(imemory_h) $(iutil_h) $(iutil2_h)
  2093.  
  2094. zcolor2.$(OBJ): zcolor2.c $(OP) \
  2095.   $(gscolor_h) $(gscspace_h) $(gsmatrix_h) $(gsstruct_h) \
  2096.   $(gxcolor2_h) $(gxdevice_h) $(gxdevmem_h) $(gxfixed_h) $(gxpcolor_h) \
  2097.   $(estack_h) $(ialloc_h) $(idict_h) $(idparam_h) $(igstate_h) $(istruct_h) \
  2098.   $(store_h)
  2099.  
  2100. zcsindex.$(OBJ): zcsindex.c $(OP) $(memory__h) \
  2101.   $(gscolor_h) $(gsstruct_h) $(gxfixed_h) $(gxcolor2_h) $(gscspace_h) $(gsmatrix_h) \
  2102.   $(ialloc_h) $(icsmap_h) $(estack_h) $(igstate_h) $(ivmspace_h) $(store_h)
  2103.  
  2104. zht2.$(OBJ): zht2.c $(OP) \
  2105.   $(gsstruct_h) $(gxdevice_h) $(gzht_h) \
  2106.   $(estack_h) $(ialloc_h) $(icolor_h) $(idict_h) $(idparam_h) $(igstate_h) \
  2107.   $(store_h)
  2108.  
  2109. zimage2.$(OBJ): zimage2.c $(OP) $(math__h) \
  2110.   $(gscolor_h) $(gscolor2_h) $(gscspace_h) $(gsimage_h) $(gsmatrix_h) \
  2111.   $(idict_h) $(idparam_h) $(ilevel_h) $(igstate_h)
  2112.  
  2113. zmisc2.$(OBJ): zmisc2.c $(OP) \
  2114.   $(gscdefs_h) $(gsfont_h) $(gsstruct_h) $(gsutil_h) $(gxht_h) \
  2115.   $(ialloc_h) $(idict_h) $(idparam_h) $(iparam_h) $(dstack_h) $(estack_h) \
  2116.   $(ilevel_h) $(iname_h) $(iutil2_h) $(ivmspace_h) $(store_h)
  2117.  
  2118. # ---------------- Device control ---------------- #
  2119. # This is a catch-all for setpagedevice and IODevices.
  2120.  
  2121. devctrl_=zdevice2.$(OBJ) ziodev2.$(OBJ) zmedia2.$(OBJ) zdevcal.$(OBJ)
  2122. devctrl.dev: $(INT_MAK) $(ECHOGS_XE) $(devctrl_)
  2123.     $(SETMOD) devctrl $(devctrl_)
  2124.     $(ADDMOD) devctrl -oper zdevice2_l2 ziodev2_l2 zmedia2_l2
  2125.     $(ADDMOD) devctrl -iodev null ram calendar
  2126.     $(ADDMOD) devctrl -ps gs_setpd
  2127.  
  2128. zdevice2.$(OBJ): zdevice2.c $(OP) $(math__h) \
  2129.   $(dstack_h) $(estack_h) $(idict_h) $(idparam_h) $(igstate_h) $(iname_h) $(store_h) \
  2130.   $(gxdevice_h) $(gsstate_h)
  2131.  
  2132. ziodev2.$(OBJ): ziodev2.c $(OP) \
  2133.   $(gxiodev_h) $(stream_h) $(files_h) $(iparam_h) $(iutil2_h) $(store_h)
  2134.  
  2135. zmedia2.$(OBJ): zmedia2.c $(OP) $(math__h) $(memory__h) \
  2136.   $(gsmatrix_h) $(idict_h) $(idparam_h) $(iname_h) $(store_h)
  2137.  
  2138. zdevcal.$(OBJ): zdevcal.c $(GH) $(time__h) \
  2139.   $(gxiodev_h) $(iparam_h) $(istack_h)
  2140.  
  2141. # ---------------- Filters other than the ones in sfilter.c ---------------- #
  2142.  
  2143. # Standard Level 2 decoding filters only.  The PDF configuration uses this.
  2144. fdecode_=sfilter2.$(OBJ) zfdecode.$(OBJ) spdiff.$(OBJ) zfpdiff.$(OBJ)
  2145. fdecode.dev: $(INT_MAK) $(ECHOGS_XE) $(fdecode_) cfd.dev lzwd.dev rld.dev
  2146.     $(SETMOD) fdecode $(fdecode_)
  2147.     $(ADDMOD) fdecode -include cfd lzwd rld
  2148.     $(ADDMOD) fdecode -oper zfdecode zfpdiff
  2149.  
  2150. sfilter2.$(OBJ): sfilter2.c $(AK) $(stdio__h)\
  2151.   $(scanchar_h) $(sbtx_h) $(sfilter_h) $(strimpl_h)
  2152.  
  2153. spdiff.$(OBJ): spdiff.c $(AK) $(stdio__h)\
  2154.   $(spdiffx_h) $(strimpl_h)
  2155.  
  2156. zfdecode.$(OBJ): zfdecode.c $(OP) $(memory__h) \
  2157.   $(gsstruct_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) \
  2158.   $(scfx_h) $(sfilter_h) $(slzwx_h) $(store_h) $(strimpl_h)
  2159.  
  2160. zfpdiff.$(OBJ): zfpdiff.c $(OP) \
  2161.   $(gsstruct_h) $(idict_h) $(idparam_h) $(ifilter_h) \
  2162.   $(sfilter_h) $(spdiffx_h) $(strimpl_h)
  2163.  
  2164. # Complete Level 2 filter capability.
  2165. filter_=zfilter2.$(OBJ)
  2166. filter.dev: $(INT_MAK) $(ECHOGS_XE) fdecode.dev $(filter_) cfe.dev lzwe.dev rle.dev
  2167.     $(SETMOD) filter -include fdecode
  2168.     $(ADDMOD) filter -obj $(filter_)
  2169.     $(ADDMOD) filter -include cfe lzwe rle
  2170.     $(ADDMOD) filter -oper zfilter2
  2171.  
  2172. zfilter2.$(OBJ): zfilter2.c $(OP) \
  2173.   $(gsstruct_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) $(store_h) \
  2174.   $(sfilter_h) $(scfx_h) $(slzwx_h) $(strimpl_h)
  2175.  
  2176. # Extensions beyond Level 2 standard.
  2177. xfilter_=sbhc.$(OBJ) sbwbs.$(OBJ) shcgen.$(OBJ) smtf.$(OBJ) zfilterx.$(OBJ)
  2178. xfilter.dev: $(INT_MAK) $(ECHOGS_XE) $(xfilter_)
  2179.     $(SETMOD) xfilter $(xfilter_)
  2180.     $(ADDMOD) xfilter -oper zfilterx
  2181.  
  2182. sbhc.$(OBJ): sbhc.c $(AK) $(stdio__h) \
  2183.   $(gdebug_h) $(sbhc_h) $(shcgen_h) $(strimpl_h)
  2184.  
  2185. sbwbs.$(OBJ): sbwbs.c $(AK) $(stdio__h) $(memory__h) \
  2186.   $(gdebug_h) $(sbwbs_h) $(sfilter_h) $(strimpl_h)
  2187.  
  2188. shcgen.$(OBJ): shcgen.c $(AK) $(stdio__h) \
  2189.   $(gdebug_h) $(gserror_h) $(gserrors_h) \
  2190.   $(scommon_h) $(shc_h) $(shcgen_h)
  2191.  
  2192. smtf.$(OBJ): smtf.c $(AK) $(stdio__h) \
  2193.   $(smtf_h) $(strimpl_h)
  2194.  
  2195. zfilterx.$(OBJ): zfilterx.c $(OP) \
  2196.   $(gsstruct_h) $(ialloc_h) $(idict_h) $(idparam_h) $(ifilter_h) \
  2197.   $(store_h) $(sfilter_h) $(sbhc_h) $(sbtx_h) $(sbwbs_h) $(shcgen_h) \
  2198.   $(smtf_h) $(strimpl_h)
  2199.  
  2200. # ---------------- Binary tokens ---------------- #
  2201.  
  2202. btoken_=iscanbin.$(OBJ) zbseq.$(OBJ)
  2203. btoken.dev: $(INT_MAK) $(ECHOGS_XE) $(btoken_)
  2204.     $(SETMOD) btoken $(btoken_)
  2205.     $(ADDMOD) btoken -oper zbseq_l2
  2206.     $(ADDMOD) btoken -ps gs_btokn
  2207.  
  2208. bseq_h=bseq.h
  2209. btoken_h=btoken.h
  2210.  
  2211. iscanbin.$(OBJ): iscanbin.c $(GH) $(math__h) $(errors_h) \
  2212.   $(gsutil_h) $(ialloc_h) $(ibnum_h) $(idict_h) $(iname_h) \
  2213.   $(iscan_h) $(iutil_h) $(ivmspace_h) \
  2214.   $(bseq_h) $(btoken_h) $(dstack_h) $(ostack_h) \
  2215.   $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  2216.  
  2217. zbseq.$(OBJ): zbseq.c $(OP) \
  2218.   $(ialloc_h) $(idict_h) $(isave_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h) \
  2219.   $(iname_h) $(ibnum_h) $(btoken_h) $(bseq_h)
  2220.  
  2221. # ---------------- User paths & insideness testing ---------------- #
  2222.  
  2223. upath_=zupath.$(OBJ) ibnum.$(OBJ)
  2224. upath.dev: $(INT_MAK) $(ECHOGS_XE) $(upath_)
  2225.     $(SETMOD) upath $(upath_)
  2226.     $(ADDMOD) upath -oper zupath_l2
  2227.  
  2228. zupath.$(OBJ): zupath.c $(OP) \
  2229.   $(idict_h) $(dstack_h) $(iutil_h) $(igstate_h) $(store_h) $(stream_h) $(ibnum_h) \
  2230.   $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h) \
  2231.   $(gxfixed_h) $(gxdevice_h) $(gzpath_h) $(gzstate_h)
  2232.  
  2233. # -------- Additions common to Display PostScript and Level 2 -------- #
  2234.  
  2235. dpsand2.dev: $(INT_MAK) $(ECHOGS_XE) btoken.dev color.dev upath.dev dps2core.dev dps2read.dev
  2236.     $(SETMOD) dpsand2 -include btoken color upath dps2core dps2read
  2237.  
  2238. dps2read_=ibnum.$(OBJ) zchar2.$(OBJ) zdps1.$(OBJ) zvmem2.$(OBJ)
  2239. # Note that zvmem2 includes both Level 1 and Level 2 operators.
  2240. dps2read.dev: $(INT_MAK) $(ECHOGS_XE) $(dps2read_)
  2241.     $(SETMOD) dps2read $(dps2read_)
  2242.     $(ADDMOD) dps2read -oper zvmem2
  2243.     $(ADDMOD) dps2read -oper ireclaim_l2 zchar2_l2 zdps1_l2
  2244.     $(ADDMOD) dps2read -ps gs_dps1
  2245.  
  2246. ibnum.$(OBJ): ibnum.c $(GH) $(math__h) \
  2247.   $(errors_h) $(stream_h) $(ibnum_h)
  2248.  
  2249. zchar2.$(OBJ): zchar2.c $(OP) \
  2250.   $(gschar_h) $(gsmatrix_h) $(gsstruct_h) $(gxfixed_h) $(gxfont_h) \
  2251.   $(ialloc_h) $(ichar_h) $(estack_h) $(ifont_h) $(iname_h) $(igstate_h) $(store_h) $(stream_h) $(ibnum_h)
  2252.  
  2253. zdps1.$(OBJ): zdps1.c $(OP) \
  2254.   $(gsmatrix_h) $(gspath_h) $(gspath2_h) $(gsstate_h) \
  2255.   $(ialloc_h) $(ivmspace_h) $(igstate_h) $(store_h) $(stream_h) $(ibnum_h)
  2256.  
  2257. zvmem2.$(OBJ): zvmem2.c $(OP) \
  2258.   $(estack_h) $(ialloc_h) $(ivmspace_h) $(store_h)
  2259.  
  2260. # ---------------- Display PostScript ---------------- #
  2261.  
  2262. # We should include zcontext, but it isn't in good enough shape yet:
  2263. #    $(ADDMOD) dps -oper zcontext_l2
  2264. dps_=
  2265. dps.dev: $(INT_MAK) $(ECHOGS_XE) dpsand2.dev $(dps_)
  2266.     $(SETMOD) dps -include dpsand2
  2267.     $(ADDMOD) dps -obj $(dps_)
  2268.  
  2269. zcontext.$(OBJ): zcontext.c $(OP) \
  2270.   $(gsstruct_h) $(gsutil_h) \
  2271.   $(idict_h) $(istruct_h) $(dstack_h) $(estack_h) $(igstate_h) $(store_h)
  2272.  
  2273. # -------- Composite (PostScript Type 0) font support -------- #
  2274.  
  2275. compfont.dev: $(INT_MAK) $(ECHOGS_XE) psf0core.dev psf0read.dev
  2276.     $(SETMOD) compfont -include psf0core psf0read
  2277.  
  2278. psf0read_=zchar2.$(OBJ) zfont0.$(OBJ)
  2279. psf0read.dev: $(INT_MAK) $(ECHOGS_XE) $(psf0read_)
  2280.     $(SETMOD) psf0read $(psf0read_)
  2281.     $(ADDMOD) psf0read -oper zfont0 zchar2
  2282.     $(ADDMOD) psf0read -ps gs_type0
  2283.  
  2284. zfont0.$(OBJ): zfont0.c $(OP) \
  2285.   $(gsmatrix_h) $(gsstruct_h) $(gxdevice_h) $(gxfont_h) $(gxfont0_h) \
  2286.   $(ialloc_h) $(bfont_h) $(idict_h) $(igstate_h) $(store_h)
  2287.  
  2288. # ---------------- CID/CMap font support ---------------- #
  2289. #**************** NOT REAL YET.  DON'T USE. ****************#
  2290.  
  2291. cidfont.dev: $(INT_MAK) $(ECHOGS_XE) compfont.dev psf1read.dev
  2292.     $(SETMOD) cidfont -include compfont psf1read
  2293.     $(ADDMOD) cidfont -ps gs_cidfn
  2294.  
  2295. # ---------------- CIE color ---------------- #
  2296.  
  2297. cieread_=zcie.$(OBJ) zcrd.$(OBJ)
  2298. cie.dev: $(INT_MAK) $(ECHOGS_XE) $(cieread_) ciecore.dev
  2299.     $(SETMOD) cie $(cieread_)
  2300.     $(ADDMOD) cie -oper zcie_l2 zcrd_l2
  2301.     $(ADDMOD) cie -include ciecore
  2302.  
  2303. icie_h=icie.h
  2304.  
  2305. zcie.$(OBJ): zcie.c $(OP) $(math__h) $(memory__h) \
  2306.   $(gscspace_h) $(gscolor2_h) $(gscie_h) $(gsstruct_h) \
  2307.   $(ialloc_h) $(icie_h) $(idict_h) $(idparam_h) $(estack_h) \
  2308.   $(isave_h) $(igstate_h) $(ivmspace_h) $(store_h)
  2309.  
  2310. zcrd.$(OBJ): zcrd.c $(OP) $(math__h) \
  2311.   $(gscspace_h) $(gscolor2_h) $(gscie_h) $(gsstruct_h) \
  2312.   $(ialloc_h) $(icie_h) $(idict_h) $(idparam_h) $(estack_h) \
  2313.   $(isave_h) $(igstate_h) $(ivmspace_h) $(store_h)
  2314.  
  2315. # ---------------- Pattern color ---------------- #
  2316.  
  2317. pattern.dev: $(INT_MAK) $(ECHOGS_XE) patcore.dev patread.dev
  2318.     $(SETMOD) pattern -include patcore patread
  2319.  
  2320. patread_=zpcolor.$(OBJ)
  2321. patread.dev: $(INT_MAK) $(ECHOGS_XE) $(patread_)
  2322.     $(SETMOD) patread $(patread_)
  2323.     $(ADDMOD) patread -oper zpcolor_l2
  2324.  
  2325. zpcolor.$(OBJ): zpcolor.c $(OP) \
  2326.   $(gscolor_h) $(gscspace_h) $(gsmatrix_h) $(gsstruct_h) \
  2327.   $(gxcolor2_h) $(gxdevice_h) $(gxdevmem_h) $(gxfixed_h) $(gxpcolor_h) \
  2328.   $(estack_h) $(ialloc_h) $(idict_h) $(idparam_h) $(igstate_h) $(istruct_h) \
  2329.   $(store_h)
  2330.  
  2331. # ---------------- Separation color ---------------- #
  2332.  
  2333. seprread_=zcssepr.$(OBJ)
  2334. sepr.dev: $(INT_MAK) $(ECHOGS_XE) $(seprread_) seprcore.dev
  2335.     $(SETMOD) sepr $(seprread_)
  2336.     $(ADDMOD) sepr -oper zcssepr_l2
  2337.     $(ADDMOD) sepr -include seprcore
  2338.  
  2339. zcssepr.$(OBJ): zcssepr.c $(OP) \
  2340.   $(gscolor_h) $(gsstruct_h) $(gxfixed_h) $(gxcolor2_h) $(gscspace_h) $(gsmatrix_h) \
  2341.   $(ialloc_h) $(icsmap_h) $(estack_h) $(igstate_h) $(ivmspace_h) $(store_h)
  2342.  
  2343. # ---------------- DCT filters ---------------- #
  2344. # The definitions for jpeg*.dev are in jpeg.mak.
  2345.  
  2346. dct.dev: $(INT_MAK) $(ECHOGS_XE) dcte.dev dctd.dev
  2347.     $(SETMOD) dct -include dcte dctd
  2348.  
  2349. # Common code
  2350.  
  2351. dctc_=sdctc.$(OBJ) sjpegc.$(OBJ) zfdctc.$(OBJ)
  2352.  
  2353. sdctc.$(OBJ): sdctc.c $(AK) $(stdio__h) \
  2354.   $(sdct_h) $(strimpl_h) \
  2355.   jerror.h jpeglib.h
  2356.  
  2357. sjpegc.$(OBJ): sjpegc.c $(AK) $(stdio__h) $(gx_h)\
  2358.   $(gserrors_h) $(sjpeg_h) $(sdct_h) $(strimpl_h) \
  2359.   jerror.h jpeglib.h
  2360.  
  2361. zfdctc.$(OBJ): zfdctc.c $(GH) $(errors_h) $(opcheck_h) \
  2362.   $(idict_h) $(idparam_h) $(imemory_h) \
  2363.   $(ipacked_h) $(sdct_h) $(sjpeg_h) $(strimpl_h) \
  2364.   jpeglib.h
  2365.  
  2366. # Encoding (compression)
  2367.  
  2368. dcte_=$(dctc_) sdcte.$(OBJ) sjpege.$(OBJ) zfdcte.$(OBJ)
  2369. dcte.dev: $(INT_MAK) $(ECHOGS_XE) jpege.dev $(dcte_)
  2370.     $(SETMOD) dcte -include jpege
  2371.     $(ADDMOD) dcte -obj $(dcte_)
  2372.     $(ADDMOD) dcte -oper zfdcte
  2373.  
  2374. sdcte.$(OBJ): sdcte.c $(AK) $(memory__h) $(stdio__h) $(gdebug_h)\
  2375.   $(sdct_h) $(sjpeg_h) $(strimpl_h) \
  2376.   jerror.h jpeglib.h
  2377.  
  2378. sjpege.$(OBJ): sjpege.c $(AK) $(stdio__h) $(gx_h)\
  2379.   $(gserrors_h) $(sjpeg_h) $(sdct_h) $(strimpl_h) \
  2380.   jerror.h jpeglib.h
  2381.  
  2382. zfdcte.$(OBJ): zfdcte.c $(OP) \
  2383.   $(idict_h) $(idparam_h) $(sdct_h) $(sjpeg_h) $(strimpl_h) \
  2384.   jpeglib.h
  2385.  
  2386. # Decoding (decompression)
  2387.  
  2388. dctd_=$(dctc_) sdctd.$(OBJ) sjpegd.$(OBJ) zfdctd.$(OBJ)
  2389. dctd.dev: $(INT_MAK) $(ECHOGS_XE) jpegd.dev $(dctd_)
  2390.     $(SETMOD) dctd -include jpegd
  2391.     $(ADDMOD) dctd -obj $(dctd_)
  2392.     $(ADDMOD) dctd -oper zfdctd
  2393.  
  2394. sdctd.$(OBJ): sdctd.c $(AK) $(memory__h) $(stdio__h) $(gdebug_h)\
  2395.   $(sdct_h) $(sjpeg_h) $(strimpl_h) \
  2396.   jerror.h jpeglib.h
  2397.  
  2398. sjpegd.$(OBJ): sjpegd.c $(AK) $(stdio__h) $(gx_h)\
  2399.   $(gserrors_h) $(sjpeg_h) $(sdct_h) $(strimpl_h) \
  2400.   jerror.h jpeglib.h
  2401.  
  2402. zfdctd.$(OBJ): zfdctd.c $(OP) \
  2403.   $(sdct_h) $(sjpeg_h) $(strimpl_h) \
  2404.   jpeglib.h
  2405.  
  2406. # ================================ PDF ================================ #
  2407.  
  2408. # We need most of the Level 2 interpreter to do PDF, but not all of it.
  2409. # In fact, we don't even need all of a Level 1 interpreter.
  2410.  
  2411. # Because of the way the PDF encodings are defined, they must get loaded
  2412. # before we install the Level 2 resource machinery.
  2413. # On the other hand, the PDF .ps files must get loaded after
  2414. # level2dict is defined.
  2415. pdf.dev: $(INT_MAK) $(ECHOGS_XE) \
  2416.   psbase.dev color.dev dctd.dev dps2core.dev dps2read.dev \
  2417.   fdecode.dev type1.dev pdffonts.dev psl2core.dev psl2read.dev pdfread.dev
  2418.     $(SETMOD) pdf -include psbase color dctd dps2core dps2read
  2419.     $(ADDMOD) pdf -include fdecode type1
  2420.     $(ADDMOD) pdf -include pdffonts psl2core psl2read pdfread
  2421.     $(ADDMOD) pdf -emulator PDF
  2422.  
  2423. # Reader only
  2424.  
  2425. # The .dev file should be dependent on the encoding files....
  2426. pdffonts.dev: $(INT_MAK) $(ECHOGS_XE) \
  2427.   gs_mex_e.ps gs_mro_e.ps gs_pdf_e.ps gs_wan_e.ps
  2428.     $(SETMOD) pdffonts -ps gs_mex_e gs_mro_e gs_pdf_e gs_wan_e
  2429.  
  2430. # pdf_2ps must be the last .ps file loaded.
  2431. pdfread.dev: $(INT_MAK) $(ECHOGS_XE)
  2432.     $(ADDMOD) pdfread -ps gs_pdf pdf_base pdf_draw pdf_font pdf_main pdf_2ps
  2433.  
  2434. # ============================= Main program ============================== #
  2435.  
  2436. gsmain.$(OBJ): gsmain.c $(GH) \
  2437.   $(gp_h) $(gslib_h) $(gsmatrix_h) $(gxdevice_h) \
  2438.   $(dstack_h) $(errors_h) $(estack_h) $(files_h) \
  2439.   $(ialloc_h) $(idebug_h) $(idict_h) $(iname_h) $(interp_h) \
  2440.   $(isave_h) $(iscan_h) $(ivmspace_h) \
  2441.   $(main_h) $(oper_h) $(ostack_h) $(sfilter_h) $(store_h) $(strimpl_h)
  2442.  
  2443. # Interpreter main program
  2444.  
  2445. gs.$(OBJ): gs.c $(GH) $(ctype__h) \
  2446.   $(gscdefs_h) $(gsdevice_h) $(gxdevice_h) $(gxdevmem_h) \
  2447.   $(errors_h) $(estack_h) $(files_h) \
  2448.   $(ialloc_h) $(interp_h) $(isave_h) $(iscan_h) $(iutil_h) $(ivmspace_h) \
  2449.   $(main_h) $(ostack_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  2450.  
  2451. interp.$(OBJ): interp.c $(GH) $(memory__h) $(string__h) \
  2452.   $(dstack_h) $(errors_h) $(estack_h) $(files_h) \
  2453.   $(ialloc_h) $(iastruct_h) $(inamedef_h) $(idict_h) $(interp_h) $(ipacked_h) \
  2454.   $(iscan_h) $(isave_h) $(istack_h) $(iutil_h) $(ivmspace_h) \
  2455.   $(oper_h) $(ostack_h) $(sfilter_h) $(store_h) $(stream_h) $(strimpl_h)
  2456.     $(CCINT) -I. $(srcdir)/interp.c
  2457.  
  2458. ireclaim.$(OBJ): ireclaim.c $(GH) \
  2459.   $(errors_h) $(gsstruct_h) $(iastate_h) $(opdef_h) $(store_h) \
  2460.   $(dstack_h) $(estack_h) $(ostack_h)
  2461. #    Copyright (C) 1994, 1995 Aladdin Enterprises.  All rights reserved.
  2462. # This file is part of Aladdin Ghostscript.
  2463. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  2464. # or distributor accepts any responsibility for the consequences of using it,
  2465. # or for whether it serves any particular purpose or works at all, unless he
  2466. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  2467. # License (the "License") for full details.
  2468. # Every copy of Aladdin Ghostscript must include a copy of the License,
  2469. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  2470. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  2471. # under certain conditions described in the License.  Among other things, the
  2472. # License requires that the copyright notice and this notice be preserved on
  2473. # all copies.
  2474.  
  2475. # makefile for Independent JPEG Group library code.
  2476.  
  2477. # NOTE: This makefile is only known to work with the following versions
  2478. # of the IJG library: 5a, 5b, 6.
  2479. # As of August 18, 1995, version 6 is the current version.
  2480. #
  2481. # You can get the IJG library by Internet anonymous FTP from the following
  2482. # places:
  2483. #    Standard distribution (tar + gzip format, Unix end-of-line):
  2484. #        ftp.uu.net:/graphics/jpeg/jpegsrc.v*.tar.gz
  2485. #        ftp.cs.wisc.edu:/ghost/jpegsrc.v*.tar.gz
  2486. #    MS-DOS archive (PKZIP a.k.a. zip format, MS-DOS end-of-line):
  2487. #        oak.oakland.edu:/SimTel/msdos/graphics/jpgsrc*.zip
  2488. #        ftp.cs.wisc.edu:/ghost/jpeg-*.zip
  2489. # The first site named above (ftp.uu.net and oak.oakland.edu) is supposed
  2490. # to be the master distribution site, so it may have a more up-to-date
  2491. # version; the ftp.cs.wisc.edu site is the master distribution site for
  2492. # Ghostscript, so it will always have IJG library versions known to be
  2493. # compatible with Ghostscript.
  2494. #
  2495. # If the version number, and hence the subdirectory name, changes, you
  2496. # will probably want to change the definitions of JSRCDIR and possibly
  2497. # JVERSION (in the platform-specific makefile, not here) to reflect this,
  2498. # since that way you can use the IJG archive without change.
  2499. #
  2500. # NOTE: For some obscure reason (probably a bug in djtarx), if you are
  2501. # compiling on a DesqView/X system, you should use the zip version of the
  2502. # IJG library, not the tar.gz version.
  2503.  
  2504. # Define the name of this makefile.
  2505. JPEG_MAK=jpeg.mak
  2506.  
  2507. # JSRCDIR is defined in the platform-specific makefile, not here,
  2508. # as the directory where the IJG library sources are stored.
  2509. #JSRCDIR=jpeg-6
  2510. # JVERSION is defined in the platform-specific makefile, not here,
  2511. # as the IJG library major version number (currently "5" or "6").
  2512. #JVERSION=6
  2513.  
  2514. JSRC=$(JSRCDIR)$(D)
  2515. RMJ=rm -f
  2516. CCCJ=$(CCC) -I. -I$(JSRCDIR) -I$(srcdir)
  2517.  
  2518. # We keep all of the IJG code in a separate directory so as not to
  2519. # inadvertently mix it up with Aladdin Enterprises' own code.
  2520. # However, we need our own version of jconfig.h, and our own "wrapper" for
  2521. # jmorecfg.h.  We also need a substitute for jerror.c, in order to
  2522. # keep the error strings out of the automatic data segment in
  2523. # 16-bit environments.  For v5*, we also need our own version of jpeglib.h
  2524. # in order to change MAX_BLOCKS_IN_MCU for Adobe compatibility.
  2525. # (This need will go away when IJG v6 is released.)
  2526.  
  2527. jconfig_h=jconfig.h $(std_h)
  2528. jerror_h=jerror.h
  2529. jmorecfg_h=jmorecfg.h jmcorig.h
  2530. jpeglib_h=jpeglib.h $(jconfig_h) $(jmorecfg_h)
  2531.  
  2532. jconfig.h: gsjconf.h
  2533.     cp $(srcdir)/gsjconf.h jconfig.h
  2534.  
  2535. jmorecfg.h: gsjmorec.h
  2536.     cp $(srcdir)/gsjmorec.h jmorecfg.h
  2537.  
  2538. jmcorig.h: $(JSRC)jmorecfg.h
  2539.     cp $(JSRC)jmorecfg.h jmcorig.h
  2540.  
  2541. jpeglib.h: jlib$(JVERSION).h
  2542.     cp jlib$(JVERSION).h jpeglib.h
  2543.  
  2544. jlib5.h: gsjpglib.h
  2545.     cp $(srcdir)/gsjpglib.h jlib5.h
  2546.  
  2547. jlib6.h: $(JSRC)jpeglib.h
  2548.     cp $(JSRC)jpeglib.h jlib6.h
  2549.  
  2550. # To ensure that the compiler finds our versions of jconfig.h and jmorecfg.h,
  2551. # regardless of the compiler's search rule, we must copy up all .c files,
  2552. # and all .h files that include either of these files, directly or
  2553. # indirectly.  The only such .h files currently are jinclude.h and jpeglib.h.
  2554. # (Currently, we supply our own version of jpeglib.h -- see above.)
  2555. # Also, to avoid including the JSRCDIR directory name in our source files,
  2556. # we must also copy up any other .h files that our own code references.
  2557. # Currently, the only such .h files are jerror.h and jversion.h.
  2558.  
  2559. JHCOPY=jinclude.h jpeglib.h jerror.h jversion.h
  2560.  
  2561. jinclude.h: $(JSRC)jinclude.h
  2562.     cp $(JSRC)jinclude.h jinclude.h
  2563.  
  2564. #jpeglib.h: $(JSRC)jpeglib.h
  2565. #    cp $(JSRC)jpeglib.h jpeglib.h
  2566.  
  2567. jerror.h: $(JSRC)jerror.h
  2568.     cp $(JSRC)jerror.h jerror.h
  2569.  
  2570. jversion.h: $(JSRC)jversion.h
  2571.     cp $(JSRC)jversion.h jversion.h
  2572.  
  2573. # In order to avoid having to keep the dependency lists for the IJG code
  2574. # accurate, we simply make all of them depend on the only files that
  2575. # we are ever going to change, and on all the .h files that must be copied up.
  2576. # This is too conservative, but only hurts us if we are changing our own
  2577. # j*.h files, which happens only rarely during development.
  2578.  
  2579. JDEP=$(AK) $(jconfig_h) $(jerror_h) $(jmorecfg_h) $(JHCOPY)
  2580.  
  2581. # Code common to compression and decompression.
  2582.  
  2583. jpegc_=jcomapi.$(OBJ) jutils.$(OBJ) sjpegerr.$(OBJ) jmemmgr.$(OBJ)
  2584. jpegc.dev: $(JPEG_MAK) $(jpegc_)
  2585.     $(SETMOD) jpegc $(jpegc_)
  2586.  
  2587. jcomapi.$(OBJ): $(JSRC)jcomapi.c $(JDEP)
  2588.     cp $(JSRC)jcomapi.c .
  2589.     $(CCCJ) jcomapi.c
  2590.     $(RMJ) jcomapi.c
  2591.  
  2592. jutils.$(OBJ): $(JSRC)jutils.c $(JDEP)
  2593.     cp $(JSRC)jutils.c .
  2594.     $(CCCJ) jutils.c
  2595.     $(RMJ) jutils.c
  2596.  
  2597. # Note that sjpegerr replaces jerror.
  2598. sjpegerr.$(OBJ): $(srcdir)/sjpegerr.c $(JDEP)
  2599.     $(CCCF) -I. -I$(srcdir) $(srcdir)/sjpegerr.c
  2600.  
  2601. jmemmgr.$(OBJ): $(JSRC)jmemmgr.c $(JDEP)
  2602.     cp $(JSRC)jmemmgr.c .
  2603.     $(CCCJ) jmemmgr.c
  2604.     $(RMJ) jmemmgr.c
  2605.  
  2606. # Encoding (compression) code.
  2607.  
  2608. jpege.dev: jpege$(JVERSION).dev
  2609.     cp jpege$(JVERSION).dev jpege.dev
  2610.  
  2611. jpege5=jcapi.$(OBJ)
  2612. jpege6=jcapimin.$(OBJ) jcapistd.$(OBJ) jcinit.$(OBJ)
  2613.  
  2614. jpege_1=jccoefct.$(OBJ) jccolor.$(OBJ) jcdctmgr.$(OBJ) 
  2615. jpege_2=jchuff.$(OBJ) jcmainct.$(OBJ) jcmarker.$(OBJ) jcmaster.$(OBJ)
  2616. jpege_3=jcparam.$(OBJ) jcprepct.$(OBJ) jcsample.$(OBJ) jfdctint.$(OBJ)
  2617.  
  2618. jpege5.dev: $(JPEG_MAK) jpegc.dev $(jpege5) $(jpege_1) $(jpege_2) $(jpege_3)
  2619.     $(SETMOD) jpege5 $(jpege5)
  2620.     $(ADDMOD) jpege5 -include jpegc
  2621.     $(ADDMOD) jpege5 -obj $(jpege_1)
  2622.     $(ADDMOD) jpege5 -obj $(jpege_2)
  2623.     $(ADDMOD) jpege5 -obj $(jpege_3)
  2624.  
  2625. jpege6.dev: $(JPEG_MAK) jpegc.dev $(jpege6) $(jpege_1) $(jpege_2) $(jpege_3)
  2626.     $(SETMOD) jpege6 $(jpege6)
  2627.     $(ADDMOD) jpege6 -include jpegc
  2628.     $(ADDMOD) jpege6 -obj $(jpege_1)
  2629.     $(ADDMOD) jpege6 -obj $(jpege_2)
  2630.     $(ADDMOD) jpege6 -obj $(jpege_3)
  2631.  
  2632. # jcapi.c is v5* only
  2633. jcapi.$(OBJ): $(JSRC)jcapi.c $(JDEP)
  2634.     cp $(JSRC)jcapi.c .
  2635.     $(CCCJ) jcapi.c
  2636.     $(RMJ) jcapi.c
  2637.   
  2638. # jcapimin.c is new in v6
  2639. jcapimin.$(OBJ): $(JSRC)jcapimin.c $(JDEP)
  2640.     cp $(JSRC)jcapimin.c .
  2641.     $(CCCJ) jcapimin.c
  2642.     $(RMJ) jcapimin.c
  2643.  
  2644. # jcapistd.c is new in v6
  2645. jcapistd.$(OBJ): $(JSRC)jcapistd.c $(JDEP)
  2646.     cp $(JSRC)jcapistd.c .
  2647.     $(CCCJ) jcapistd.c
  2648.     $(RMJ) jcapistd.c
  2649.  
  2650. # jcinit.c is new in v6
  2651. jcinit.$(OBJ): $(JSRC)jcinit.c $(JDEP)
  2652.     cp $(JSRC)jcinit.c .
  2653.     $(CCCJ) jcinit.c
  2654.     $(RMJ) jcinit.c
  2655.  
  2656. jccoefct.$(OBJ): $(JSRC)jccoefct.c $(JDEP)
  2657.     cp $(JSRC)jccoefct.c .
  2658.     $(CCCJ) jccoefct.c
  2659.     $(RMJ) jccoefct.c
  2660.  
  2661. jccolor.$(OBJ): $(JSRC)jccolor.c $(JDEP)
  2662.     cp $(JSRC)jccolor.c .
  2663.     $(CCCJ) jccolor.c
  2664.     $(RMJ) jccolor.c
  2665.  
  2666. jcdctmgr.$(OBJ): $(JSRC)jcdctmgr.c $(JDEP)
  2667.     cp $(JSRC)jcdctmgr.c .
  2668.     $(CCCJ) jcdctmgr.c
  2669.     $(RMJ) jcdctmgr.c
  2670.  
  2671. jchuff.$(OBJ): $(JSRC)jchuff.c $(JDEP)
  2672.     cp $(JSRC)jchuff.c .
  2673.     $(CCCJ) jchuff.c
  2674.     $(RMJ) jchuff.c
  2675.  
  2676. jcmainct.$(OBJ): $(JSRC)jcmainct.c $(JDEP)
  2677.     cp $(JSRC)jcmainct.c .
  2678.     $(CCCJ) jcmainct.c
  2679.     $(RMJ) jcmainct.c
  2680.  
  2681. jcmarker.$(OBJ): $(JSRC)jcmarker.c $(JDEP)
  2682.     cp $(JSRC)jcmarker.c .
  2683.     $(CCCJ) jcmarker.c
  2684.     $(RMJ) jcmarker.c
  2685.  
  2686. jcmaster.$(OBJ): $(JSRC)jcmaster.c $(JDEP)
  2687.     cp $(JSRC)jcmaster.c .
  2688.     $(CCCJ) jcmaster.c
  2689.     $(RMJ) jcmaster.c
  2690.  
  2691. jcparam.$(OBJ): $(JSRC)jcparam.c $(JDEP)
  2692.     cp $(JSRC)jcparam.c .
  2693.     $(CCCJ) jcparam.c
  2694.     $(RMJ) jcparam.c
  2695.  
  2696. jcprepct.$(OBJ): $(JSRC)jcprepct.c $(JDEP)
  2697.     cp $(JSRC)jcprepct.c .
  2698.     $(CCCJ) jcprepct.c
  2699.     $(RMJ) jcprepct.c
  2700.  
  2701. jcsample.$(OBJ): $(JSRC)jcsample.c $(JDEP)
  2702.     cp $(JSRC)jcsample.c .
  2703.     $(CCCJ) jcsample.c
  2704.     $(RMJ) jcsample.c
  2705.  
  2706. jfdctint.$(OBJ): $(JSRC)jfdctint.c $(JDEP)
  2707.     cp $(JSRC)jfdctint.c .
  2708.     $(CCCJ) jfdctint.c
  2709.     $(RMJ) jfdctint.c
  2710.  
  2711. # Decompression code
  2712.  
  2713. jpegd.dev: jpegd$(JVERSION).dev
  2714.     cp jpegd$(JVERSION).dev jpegd.dev
  2715.  
  2716. jpegd5=jdapi.$(OBJ)
  2717. jpegd6=jdapimin.$(OBJ) jdapistd.$(OBJ) jdinput.$(OBJ) jdphuff.$(OBJ)
  2718.  
  2719. jpegd_1=jdcoefct.$(OBJ) jdcolor.$(OBJ)
  2720. jpegd_2=jddctmgr.$(OBJ) jdhuff.$(OBJ) jdmainct.$(OBJ) jdmarker.$(OBJ)
  2721. jpegd_3=jdmaster.$(OBJ) jdpostct.$(OBJ) jdsample.$(OBJ) jidctint.$(OBJ)
  2722.  
  2723. jpegd5.dev: $(JPEG_MAK) jpegc.dev $(jpegd5) $(jpegd_1) $(jpegd_2) $(jpegd_3)
  2724.     $(SETMOD) jpegd5 $(jpegd5)
  2725.     $(ADDMOD) jpegd5 -include jpegc
  2726.     $(ADDMOD) jpegd5 -obj $(jpegd_1)
  2727.     $(ADDMOD) jpegd5 -obj $(jpegd_2)
  2728.     $(ADDMOD) jpegd5 -obj $(jpegd_3)
  2729.  
  2730. jpegd6.dev: $(JPEG_MAK) jpegc.dev $(jpegd6) $(jpegd_1) $(jpegd_2) $(jpegd_3)
  2731.     $(SETMOD) jpegd6 $(jpegd6)
  2732.     $(ADDMOD) jpegd6 -include jpegc
  2733.     $(ADDMOD) jpegd6 -obj $(jpegd_1)
  2734.     $(ADDMOD) jpegd6 -obj $(jpegd_2)
  2735.     $(ADDMOD) jpegd6 -obj $(jpegd_3)
  2736.  
  2737. # jdapi.c is v5* only
  2738. jdapi.$(OBJ): $(JSRC)jdapi.c $(JDEP)
  2739.     cp $(JSRC)jdapi.c .
  2740.     $(CCCJ) jdapi.c
  2741.     $(RMJ) jdapi.c
  2742.  
  2743. # jdapimin.c is new in v6
  2744. jdapimin.$(OBJ): $(JSRC)jdapimin.c $(JDEP)
  2745.     cp $(JSRC)jdapimin.c .
  2746.     $(CCCJ) jdapimin.c
  2747.     $(RMJ) jdapimin.c
  2748.  
  2749. # jdapistd.c is new in v6
  2750. jdapistd.$(OBJ): $(JSRC)jdapistd.c $(JDEP)
  2751.     cp $(JSRC)jdapistd.c .
  2752.     $(CCCJ) jdapistd.c
  2753.     $(RMJ) jdapistd.c
  2754.  
  2755. jdcoefct.$(OBJ): $(JSRC)jdcoefct.c $(JDEP)
  2756.     cp $(JSRC)jdcoefct.c .
  2757.     $(CCCJ) jdcoefct.c
  2758.     $(RMJ) jdcoefct.c
  2759.  
  2760. jdcolor.$(OBJ): $(JSRC)jdcolor.c $(JDEP)
  2761.     cp $(JSRC)jdcolor.c .
  2762.     $(CCCJ) jdcolor.c
  2763.     $(RMJ) jdcolor.c
  2764.  
  2765. jddctmgr.$(OBJ): $(JSRC)jddctmgr.c $(JDEP)
  2766.     cp $(JSRC)jddctmgr.c .
  2767.     $(CCCJ) jddctmgr.c
  2768.     $(RMJ) jddctmgr.c
  2769.  
  2770. jdhuff.$(OBJ): $(JSRC)jdhuff.c $(JDEP)
  2771.     cp $(JSRC)jdhuff.c .
  2772.     $(CCCJ) jdhuff.c
  2773.     $(RMJ) jdhuff.c
  2774.  
  2775. # jdinput.c is new in v6
  2776. jdinput.$(OBJ): $(JSRC)jdinput.c $(JDEP)
  2777.     cp $(JSRC)jdinput.c .
  2778.     $(CCCJ) jdinput.c
  2779.     $(RMJ) jdinput.c
  2780.  
  2781. jdmainct.$(OBJ): $(JSRC)jdmainct.c $(JDEP)
  2782.     cp $(JSRC)jdmainct.c .
  2783.     $(CCCJ) jdmainct.c
  2784.     $(RMJ) jdmainct.c
  2785.  
  2786. jdmarker.$(OBJ): $(JSRC)jdmarker.c $(JDEP)
  2787.     cp $(JSRC)jdmarker.c .
  2788.     $(CCCJ) jdmarker.c
  2789.     $(RMJ) jdmarker.c
  2790.  
  2791. jdmaster.$(OBJ): $(JSRC)jdmaster.c $(JDEP)
  2792.     cp $(JSRC)jdmaster.c .
  2793.     $(CCCJ) jdmaster.c
  2794.     $(RMJ) jdmaster.c
  2795.  
  2796. # jdphuff.c is new in v6
  2797. jdphuff.$(OBJ): $(JSRC)jdphuff.c $(JDEP)
  2798.     cp $(JSRC)jdphuff.c .
  2799.     $(CCCJ) jdphuff.c
  2800.     $(RMJ) jdphuff.c
  2801.  
  2802. jdpostct.$(OBJ): $(JSRC)jdpostct.c $(JDEP)
  2803.     cp $(JSRC)jdpostct.c .
  2804.     $(CCCJ) jdpostct.c
  2805.     $(RMJ) jdpostct.c
  2806.  
  2807. jdsample.$(OBJ): $(JSRC)jdsample.c $(JDEP)
  2808.     cp $(JSRC)jdsample.c .
  2809.     $(CCCJ) jdsample.c
  2810.     $(RMJ) jdsample.c
  2811.  
  2812. jidctint.$(OBJ): $(JSRC)jidctint.c $(JDEP)
  2813.     cp $(JSRC)jidctint.c .
  2814.     $(CCCJ) jidctint.c
  2815.     $(RMJ) jidctint.c
  2816. #    Copyright (C) 1989, 1995 Aladdin Enterprises.  All rights reserved.
  2817. # This file is part of Aladdin Ghostscript.
  2818. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  2819. # or distributor accepts any responsibility for the consequences of using it,
  2820. # or for whether it serves any particular purpose or works at all, unless he
  2821. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  2822. # License (the "License") for full details.
  2823. # Every copy of Aladdin Ghostscript must include a copy of the License,
  2824. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  2825. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  2826. # under certain conditions described in the License.  Among other things, the
  2827. # License requires that the copyright notice and this notice be preserved on
  2828. # all copies.
  2829.  
  2830. # makefile for device drivers.
  2831.  
  2832. # Define the name of this makefile.
  2833. DEVS_MAK=devs.mak
  2834.  
  2835. # -------------------------------- Catalog ------------------------------- #
  2836.  
  2837. # It is possible to build configurations with an arbitrary collection of
  2838. # device drivers, although some drivers are supported only on a subset
  2839. # of the target platforms.  The currently available drivers are:
  2840.  
  2841. # MS-DOS displays (note: not usable with Desqview/X):
  2842. #   MS-DOS EGA and VGA:
  2843. #    ega    EGA (640x350, 16-color)
  2844. #    vga    VGA (640x480, 16-color)
  2845. #   MS-DOS SuperVGA:
  2846. # +    atiw    ATI Wonder SuperVGA, 256-color modes
  2847. # +    s3vga    SuperVGA with S3 86C911 chip (e.g., Diamond Stealth board)
  2848. #    svga16    Generic SuperVGA in 800x600, 16-color mode
  2849. #          (replaces atiw16, tseng16, and tvga16 -- see below)
  2850. #    tseng    SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes
  2851. # +    tvga    Trident SuperVGA, 256-color modes
  2852. #   ****** NOTE: The vesa device does not work with the Watcom (32-bit MS-DOS)
  2853. #   ****** compiler or executable.
  2854. #    vesa    SuperVGA with VESA standard API driver
  2855. #   MS-DOS other:
  2856. #    bgi    Borland Graphics Interface (CGA)  [MS-DOS only]
  2857. # *    herc    Hercules Graphics display   [MS-DOS only]
  2858. # *    pe    Private Eye display
  2859. # Other displays:
  2860. #   MS Windows:
  2861. #    mswin    Microsoft Windows 3.0, 3.1   [MS Windows only]
  2862. #    mswindll  Microsoft Windows 3.1 DLL  [MS Windows only]
  2863. #    mswinprn  Microsoft Windows 3.0, 3.1 DDB printer  [MS Windows only]
  2864. #    mswinpr2  Microsoft Windows 3.0, 3.1 DIB printer  [MS Windows only]
  2865. #   OS/2:
  2866. # *    os2pm    OS/2 Presentation Manager   [OS/2 only]
  2867. # *    os2dll    OS/2 DLL bitmap             [OS/2 only]
  2868. # *    os2prn    OS/2 printer                [OS/2 only]
  2869. #   Unix and VMS:
  2870. #   ****** NOTE: For direct frame buffer addressing under SCO Unix or Xenix,
  2871. #   ****** edit the definition of EGAVGA below.
  2872. # *    att3b1    AT&T 3b1/Unixpc monochrome display   [3b1 only]
  2873. # *    lvga256  Linux vgalib, 256-color VGA modes  [Linux only]
  2874. # *    sonyfb    Sony Microsystems monochrome display   [Sony only]
  2875. # *    sunview  SunView window system   [SunOS only]
  2876. # +    vgalib    Linux PC with VGALIB   [Linux only]
  2877. #    x11    X Windows version 11, release >=4   [Unix and VMS only]
  2878. #    x11alpha  X Windows masquerading as a device with alpha capability
  2879. #    x11cmyk  X Windows masquerading as a 1-bit-per-plane CMYK device
  2880. #    x11mono  X Windows masquerading as a black-and-white device
  2881. #   Platform-independent:
  2882. # *    sxlcrt    CRT sixels, e.g. for VT240-like terminals
  2883. # Printers:
  2884. # *    ap3250    Epson AP3250 printer
  2885. # *    appledmp  Apple Dot Matrix Printer (should also work with Imagewriter)
  2886. #    bj10e    Canon BubbleJet BJ10e
  2887. # *    bj200    Canon BubbleJet BJ200
  2888. # *    bjc600   Canon Color BubbleJet BJC-600 and BJC-4000
  2889. # *    bjc800   Canon Color BubbleJet BJC-800
  2890. # *    cdeskjet  H-P DeskJet 500C with 1 bit/pixel color
  2891. # *    cdjcolor  H-P DeskJet 500C with 24 bit/pixel color and
  2892. #        high-quality color (Floyd-Steinberg) dithering;
  2893. #        also good for DeskJet 540C
  2894. # *    cdjmono  H-P DeskJet 500C printing black only;
  2895. #        also good for DeskJet 510, 520, and 540C (black only)
  2896. # *    cdj500    H-P DeskJet 500C (same as cdjcolor)
  2897. # *    cdj550    H-P DeskJet 550C/560C
  2898. # *    cp50    Mitsubishi CP50 color printer
  2899. # *    declj250  alternate DEC LJ250 driver
  2900. # +    deskjet  H-P DeskJet and DeskJet Plus
  2901. #    djet500  H-P DeskJet 500
  2902. # *    djet500c  H-P DeskJet 500C alternate driver
  2903. #        (does not work on 550C or 560C)
  2904. # *    dnj650c  H-P DesignJet 650C
  2905. #    epson    Epson-compatible dot matrix printers (9- or 24-pin)
  2906. # *    eps9mid  Epson-compatible 9-pin, interleaved lines
  2907. #        (intermediate resolution)
  2908. # *    eps9high  Epson-compatible 9-pin, interleaved lines
  2909. #        (triple resolution)
  2910. # *    epsonc    Epson LQ-2550 and Fujitsu 3400/2400/1200 color printers
  2911. # *    ibmpro  IBM 9-pin Proprinter
  2912. # *    imagen    Imagen ImPress printers
  2913. # *    iwhi    Apple Imagewriter in high-resolution mode
  2914. # *    iwlo    Apple Imagewriter in low-resolution mode
  2915. # *    iwlq    Apple Imagewriter LQ in 320 x 216 dpi mode
  2916. # *    jetp3852  IBM Jetprinter ink-jet color printer (Model #3852)
  2917. # +    laserjet  H-P LaserJet
  2918. # *    la50    DEC LA50 printer
  2919. # *    la70    DEC LA70 printer
  2920. # *    la70t    DEC LA70 printer with low-resolution text enhancement
  2921. # *    la75    DEC LA75 printer
  2922. # *    la75plus DEC LA75plus printer
  2923. # *    lbp8    Canon LBP-8II laser printer
  2924. # *    lips3    Canon LIPS III laser printer in English (CaPSL) mode
  2925. # *    ln03    DEC LN03 printer
  2926. # *    lj250    DEC LJ250 Companion color printer
  2927. # +    ljet2p    H-P LaserJet IId/IIp/III* with TIFF compression
  2928. # +    ljet3    H-P LaserJet III* with Delta Row compression
  2929. # +    ljet3d    H-P LaserJet IIID with duplex capability
  2930. # +    ljet4    H-P LaserJet 4 (defaults to 600 dpi)
  2931. # +    lj4dith  H-P LaserJet 4 with Floyd-Steinberg dithering
  2932. # +    ljetplus  H-P LaserJet Plus
  2933. # *    lp2563    H-P 2563B line printer
  2934. # *    m8510    C.Itoh M8510 printer
  2935. # *    necp6    NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
  2936. # *    nwp533  Sony Microsystems NWP533 laser printer   [Sony only]
  2937. # *    oce9050  OCE 9050 printer
  2938. # *    oki182    Okidata MicroLine 182
  2939. # *    okiibm    Okidata MicroLine IBM-compatible printers
  2940. # *    paintjet  alternate H-P PaintJet color printer
  2941. # *    pj    H-P PaintJet XL driver 
  2942. # *    pjetxl    alternate H-P PaintJet XL driver
  2943. # *    pjxl    H-P PaintJet XL color printer
  2944. # *    pjxl300  H-P PaintJet XL300 color printer;
  2945. #        also good for PaintJet 1200C
  2946. # *    r4081    Ricoh 4081 laser printer
  2947. # *    sj48    StarJet 48 inkjet printer
  2948. # *    sparc    SPARCprinter
  2949. # *    st800    Epson Stylus 800 printer
  2950. # *     stcolor  Epson Stylus Color
  2951. # *    t4693d2  Tektronix 4693d color printer, 2 bits per R/G/B component
  2952. # *    t4693d4  Tektronix 4693d color printer, 4 bits per R/G/B component
  2953. # *    t4693d8  Tektronix 4693d color printer, 8 bits per R/G/B component
  2954. # *    tek4696  Tektronix 4695/4696 inkjet plotter
  2955. # *    xes    Xerox XES printers (2700, 3700, 4045, etc.)
  2956. # Fax systems:
  2957. # *    dfaxhigh  DigiBoard, Inc.'s DigiFAX software format (high resolution)
  2958. # *    dfaxlow  DigiFAX low (normal) resolution
  2959. # Fax file format:
  2960. #   ****** NOTE: all of these drivers adjust the page size to match
  2961. #   ****** one of the three CCITT standard sizes (U.S. letter with A4 width,
  2962. #   ****** A4, or B4).
  2963. #    faxg3    Group 3 fax, with EOLs but no header or EOD
  2964. #    faxg32d  Group 3 2-D fax, with EOLs but no header or EOD
  2965. #    faxg4    Group 4 fax, with EOLs but no header or EOD
  2966. #    tiffcrle  TIFF "CCITT RLE 1-dim" (= Group 3 fax with no EOLs)
  2967. #    tiffg3    TIFF Group 3 fax (with EOLs)
  2968. #    tiffg32d  TIFF Group 3 2-D fax
  2969. #    tiffg4    TIFF Group 4 fax
  2970. # Other file formats and devices:
  2971. #    bit    Plain bits, monochrome
  2972. #    bitrgb    Plain bits, RGB
  2973. #    bitcmyk  Plain bits, CMYK
  2974. #    bmpmono    Monochrome MS Windows .BMP file format
  2975. #    bmp16    4-bit (EGA/VGA) .BMP file format
  2976. #    bmp256    8-bit (256-color) .BMP file format
  2977. #    bmp16m    24-bit .BMP file format
  2978. #    cgmmono  Monochrome (black-and-white) CGM -- LOW LEVEL OUTPUT ONLY
  2979. #    cgm8    8-bit (256-color) CGM -- DITTO
  2980. #    cgm24    24-bit color CGM -- DITTO
  2981. # *    cif    CIF file format for VLSI
  2982. # *    mgrmono  1-bit monochrome MGR devices
  2983. # *    mgrgray2  2-bit gray scale MGR devices
  2984. # *    mgrgray4  4-bit gray scale MGR devices
  2985. # *    mgrgray8  8-bit gray scale MGR devices
  2986. # *    mgr4    4-bit (VGA) color MGR devices
  2987. # *    mgr8    8-bit color MGR devices
  2988. #    pcxmono    PCX file format, monochrome (1-bit black and white)
  2989. #    pcxgray    PCX file format, 8-bit gray scale
  2990. #    pcx16    PCX file format, 4-bit planar (EGA/VGA) color
  2991. #    pcx256    PCX file format, 8-bit chunky color
  2992. #    pcx24b    PCX file format, 24-bit color (3 8-bit planes)
  2993. #    pbm    Portable Bitmap (plain format)
  2994. #    pbmraw    Portable Bitmap (raw format)
  2995. #    pgm    Portable Graymap (plain format)
  2996. #    pgmraw    Portable Graymap (raw format)
  2997. #    pgnm    Portable Graymap (plain format), optimizing to PBM if possible
  2998. #    pgnmraw    Portable Graymap (raw format), optimizing to PBM if possible
  2999. #    pnm    Portable Pixmap (plain format) (RGB), optimizing to PGM or PBM
  3000. #         if possible
  3001. #    pnmraw    Portable Pixmap (raw format) (RGB), optimizing to PGM or PBM
  3002. #         if possible
  3003. #    ppm    Portable Pixmap (plain format) (RGB)
  3004. #    ppmraw    Portable Pixmap (raw format) (RGB)
  3005. #   ****** NOTE: The PNG drivers DO NOT WORK YET.  DO NOT TRY TO USE THEM.
  3006. #    pngmono    Monochrome Portable Network Graphics (PNG)
  3007. #    pnggray    8-bit gray Portable Network Graphics (PNG)
  3008. #    png16    4-bit color Portable Network Graphics (PNG)
  3009. #    png256    8-bit color Portable Network Graphics (PNG)
  3010. #    png16m    24-bit color Portable Network Graphics (PNG)
  3011. #    psmono    PostScript (Level 1) monochrome image
  3012. #    sgirgb    SGI RGB pixmap format
  3013. #    tiff24nc  TIFF 24-bit RGB, no compression (NeXT standard format)
  3014. #    tifflzw  TIFF LZW (tag = 5) (monochrome)
  3015. #    tiffpack  TIFF PackBits (tag = 32773) (monochrome)
  3016.  
  3017. # User-contributed drivers marked with * require hardware or software
  3018. # that is not available to Aladdin Enterprises.  Please contact the
  3019. # original contributors, not Aladdin Enterprises, if you have questions.
  3020. # Contact information appears in the driver entry below.
  3021. #
  3022. # Drivers marked with a + are maintained by Aladdin Enterprises with
  3023. # the assistance of users, since Aladdin Enterprises doesn't have access to
  3024. # the hardware for these either.
  3025.  
  3026. # If you add drivers, it would be nice if you kept each list
  3027. # in alphabetical order.
  3028.  
  3029. # ---------------------------- End of catalog ---------------------------- #
  3030.  
  3031. # As noted in gs.mak, DEVICE_DEVS and DEVICE_DEVS1..15 select the devices
  3032. # that should be included in a given configuration.  By convention, these
  3033. # are used as follows.  Each of these must be limited to about 10 devices
  3034. # so as not to overflow the 120 character limit on MS-DOS command lines.
  3035. #    DEVICE_DEVS - the default device, and any display devices.
  3036. #    DEVICE_DEVS1 - additional display devices if needed.
  3037. #    DEVICE_DEVS2 - dot matrix printers.
  3038. #    DEVICE_DEVS3 - H-P monochrome printers.
  3039. #    DEVICE_DEVS4 - H-P color printers.
  3040. #    DEVICE_DEVS5 - additional H-P printers if needed.
  3041. #    DEVICE_DEVS6 - other ink-jet and laser printers.
  3042. #    DEVICE_DEVS7 - fax file formats.
  3043. #    DEVICE_DEVS8 - CGM and PCX file formats.
  3044. #    DEVICE_DEVS9 - PBM/PGM/PPM file formats.
  3045. #    DEVICE_DEVS10 - black-and-white TIFF file formats.
  3046. #    DEVICE_DEVS11 - BMP and color TIFF file formats.
  3047. #    DEVICE_DEVS12 - PostScript image and 'bit' file formats.
  3048. # Feel free to disregard this convention if it gets in your way.
  3049.  
  3050. # If you want to add a new device driver, the examples below should be
  3051. # enough of a guide to the correct form for the makefile rules.
  3052. # Note that all drivers other than displays must include page.dev in their
  3053. # dependencies and use $(SETPDEV) rather than $(SETDEV) in their rule bodies.
  3054.  
  3055. # All device drivers depend on the following:
  3056. GDEV=$(AK) $(ECHOGS_XE) $(gserrors_h) $(gx_h) $(gxdevice_h)
  3057.  
  3058. # "Printer" drivers depend on the following:
  3059. PDEVH=$(GDEV) $(gdevprn_h)
  3060.  
  3061. # Define the header files for device drivers.  Every header file used by
  3062. # more than one device driver family must be listed here.
  3063. gdev8bcm_h=gdev8bcm.h
  3064. gdevpccm_h=gdevpccm.h
  3065. gdevpcfb_h=gdevpcfb.h $(dos__h)
  3066. gdevpcl_h=gdevpcl.h
  3067. gdevsvga_h=gdevsvga.h
  3068. gdevx_h=gdevx.h
  3069.  
  3070. ###### ----------------------- Device support ----------------------- ######
  3071.  
  3072. # Provide a mapping between StandardEncoding and ISOLatin1Encoding.
  3073. gdevemap.$(OBJ): gdevemap.c $(AK) $(std_h)
  3074.  
  3075. # Implement dynamic color management for 8-bit mapped color displays.
  3076. gdev8bcm.$(OBJ): gdev8bcm.c $(AK) \
  3077.   $(gx_h) $(gxdevice_h) $(gdev8bcm_h)
  3078.  
  3079. ###### ------------------- MS-DOS display devices ------------------- ######
  3080.  
  3081. # There are really only three drivers: an EGA/VGA driver (4 bit-planes,
  3082. # plane-addressed), a SuperVGA driver (8 bit-planes, byte addressed),
  3083. # and a special driver for the S3 chip.
  3084.  
  3085. # PC display color mapping
  3086. gdevpccm.$(OBJ): gdevpccm.c $(AK) \
  3087.   $(gx_h) $(gsmatrix_h) $(gxdevice_h) $(gdevpccm_h)
  3088.  
  3089. ### ----------------------- EGA and VGA displays ----------------------- ###
  3090.  
  3091. # The shared MS-DOS makefile defines PCFBASM as either gdevegaa.$(OBJ)
  3092. # or an empty string.
  3093.  
  3094. gdevegaa.$(OBJ): gdevegaa.asm
  3095.  
  3096. # NOTE: for direct frame buffer addressing under SCO Unix or Xenix,
  3097. # change gdevevga to gdevsco in the following line.  Also, since
  3098. # SCO's /bin/as does not support the "out" instructions, you must build
  3099. # the gnu assembler and have it on your path as "as".
  3100. EGAVGA=gdevevga.$(OBJ) gdevpcfb.$(OBJ) gdevpccm.$(OBJ) $(PCFBASM)
  3101. #EGAVGA=gdevsco.$(OBJ) gdevpcfb.$(OBJ) gdevpccm.$(OBJ) $(PCFBASM)
  3102.  
  3103. gdevevga.$(OBJ): gdevevga.c $(GDEV) $(gdevpcfb_h)
  3104.     $(CCD) gdevevga.c
  3105.  
  3106. gdevsco.$(OBJ): gdevsco.c $(GDEV) $(gdevpcfb_h)
  3107.  
  3108. # Common code for MS-DOS and SCO.
  3109. gdevpcfb.$(OBJ): gdevpcfb.c $(GDEV) $(gconfigv_h) \
  3110.   $(gdevpccm_h) $(gdevpcfb_h) $(gsparam_h)
  3111.     $(CCD) gdevpcfb.c
  3112.  
  3113. # The EGA/VGA family includes EGA and VGA.  Many SuperVGAs in 800x600,
  3114. # 16-color mode can share the same code; see the next section below.
  3115.  
  3116. ega.dev: $(EGAVGA)
  3117.     $(SETDEV) ega $(EGAVGA)
  3118.  
  3119. vga.dev: $(EGAVGA)
  3120.     $(SETDEV) vga $(EGAVGA)
  3121.  
  3122. ### ------------------------- SuperVGA displays ------------------------ ###
  3123.  
  3124. # SuperVGA displays in 16-color, 800x600 mode are really just slightly
  3125. # glorified VGA's, so we can handle them all with a single driver.
  3126. # The way to select them on the command line is with
  3127. #    -sDEVICE=svga16 -dDisplayMode=NNN
  3128. # where NNN is the display mode in decimal.  See use.doc for the modes
  3129. # for some popular display chipsets.
  3130.  
  3131. svga16.dev: $(EGAVGA)
  3132.     $(SETDEV) svga16 $(EGAVGA)
  3133.  
  3134. # More capable SuperVGAs have a wide variety of slightly differing
  3135. # interfaces, so we need a separate driver for each one.
  3136.  
  3137. SVGA=gdevsvga.$(OBJ) gdevpccm.$(OBJ) $(PCFBASM)
  3138.  
  3139. gdevsvga.$(OBJ): gdevsvga.c $(GDEV) $(gconfigv_h) \
  3140.   $(gxarith_h) $(gdevpccm_h) $(gdevpcfb_h) $(gdevsvga_h)
  3141.     $(CCD) gdevsvga.c
  3142.  
  3143. # The SuperVGA family includes: ATI Wonder, S3, Trident, Tseng ET3000/4000,
  3144. # and VESA.
  3145.  
  3146. atiw.dev: $(SVGA)
  3147.     $(SETDEV) atiw $(SVGA)
  3148.  
  3149. tseng.dev: $(SVGA)
  3150.     $(SETDEV) tseng $(SVGA)
  3151.  
  3152. tvga.dev: $(SVGA)
  3153.     $(SETDEV) tvga $(SVGA)
  3154.  
  3155. vesa.dev: $(SVGA)
  3156.     $(SETDEV) vesa $(SVGA)
  3157.  
  3158. # The S3 driver doesn't share much code with the others.
  3159.  
  3160. s3vga_=$(SVGA) gdevs3ga.$(OBJ) gdevsvga.$(OBJ) gdevpccm.$(OBJ)
  3161. s3vga.dev: $(s3vga_)
  3162.     $(SETDEV) s3vga $(s3vga_)
  3163.  
  3164. gdevs3ga.$(OBJ): gdevs3ga.c $(GDEV) $(gdevpcfb_h) $(gdevsvga_h)
  3165.     $(CCD) gdevs3ga.c
  3166.  
  3167. ### ------------ The BGI (Borland Graphics Interface) device ----------- ###
  3168.  
  3169. cgaf.$(OBJ): $(BGIDIR)\cga.bgi
  3170.     $(BGIDIR)\bgiobj /F $(BGIDIR)\cga
  3171.  
  3172. egavgaf.$(OBJ): $(BGIDIR)\egavga.bgi
  3173.     $(BGIDIR)\bgiobj /F $(BGIDIR)\egavga
  3174.  
  3175. # Include egavgaf.$(OBJ) for debugging only.
  3176. bgi_=gdevbgi.$(OBJ) cgaf.$(OBJ)
  3177. bgi.dev: $(bgi_)
  3178.     $(SETDEV) bgi $(bgi_)
  3179.     $(ADDMOD) bgi -lib $(LIBDIR)\graphics
  3180.  
  3181. gdevbgi.$(OBJ): gdevbgi.c $(GDEV) $(MAKEFILE) $(gxxfont_h)
  3182.     $(CCC) -DBGI_LIB="$(BGIDIRSTR)" gdevbgi.c
  3183.  
  3184. ### ------------------- The Hercules Graphics display ------------------- ###
  3185.  
  3186. herc_=gdevherc.$(OBJ)
  3187. herc.dev: $(herc_)
  3188.     $(SETDEV) herc $(herc_)
  3189.  
  3190. gdevherc.$(OBJ): gdevherc.c $(GDEV)
  3191.     $(CCC) gdevherc.c
  3192.  
  3193. ### ---------------------- The Private Eye display ---------------------- ###
  3194. ### Note: this driver was contributed by a user:                          ###
  3195. ###   please contact narf@media-lab.media.mit.edu if you have questions.  ###
  3196.  
  3197. pe_=gdevpe.$(OBJ)
  3198. pe.dev: $(pe_)
  3199.     $(SETDEV) pe $(pe_)
  3200.  
  3201. gdevpe.$(OBJ): gdevpe.c $(GDEV)
  3202.  
  3203. ###### ----------------------- Other displays ------------------------ ######
  3204.  
  3205. ### ---------------- Amiga display/printer/file devices ---------------- ###
  3206. ### Note: this driver was contributed by a user: please contact          ###
  3207. ###       Olaf Barthel (olsen@sourcery.han.de) if you have questions.    ###
  3208. ###       He would also like to hear from anyone using the driver.       ###
  3209. ### Please consult the source code for additional documentation.         ###
  3210.  
  3211. amiga_=gdevamiga.$(OBJ)
  3212.  
  3213. amiga.dev: $(amiga_)
  3214.     $(SETDEV) amiga $(amiga_)
  3215.  
  3216. amiga_low.dev: $(amiga_)
  3217.     $(SETDEV) amiga_low $(amiga_)
  3218.  
  3219. amiga_high.dev: $(amiga_)
  3220.     $(SETDEV) amiga_high $(amiga_)
  3221.  
  3222. amiga_super.dev: $(amiga_)
  3223.     $(SETDEV) amiga_super $(amiga_)
  3224.  
  3225. amiga_a2024.dev: $(amiga_)
  3226.     $(SETDEV) amiga_a2024 $(amiga_)
  3227.  
  3228. amiga_picassoii.dev: $(amiga_)
  3229.     $(SETDEV) amiga_picassoii $(amiga_)
  3230.  
  3231. amiga_custom.dev: $(amiga_)
  3232.     $(SETDEV) amiga_custom $(amiga_)
  3233.  
  3234. amiga_printer.dev: $(amiga_)
  3235.     $(SETDEV) amiga_printer $(amiga_)
  3236.  
  3237. amiga_ilbm.dev: $(amiga_)
  3238.     $(SETDEV) amiga_ilbm $(amiga_)
  3239.  
  3240. # JOOP: works or not?
  3241. gdevamiga.$(OBJ): $(srcdir)/gdevamiga.c
  3242.     $(CC) $(CFLAGS) -mfixedstack -I. -I$(srcdir) -c $(srcdir)/gdevamiga.c
  3243.  
  3244. ### -------------------- The MS-Windows 3.n display --------------------- ###
  3245.  
  3246. gdevmswn_h=gdevmswn.h $(GDEV) gp_mswin.h
  3247.  
  3248. # Choose one of gdevwddb or gdevwdib here.
  3249. mswin_=gdevmswn.$(OBJ) gdevmsxf.$(OBJ) gdevwdib.$(OBJ) \
  3250.   gdevemap.$(OBJ) gdevpccm.$(OBJ)
  3251. mswin.dev: $(mswin_)
  3252.     $(SETDEV) mswin $(mswin_)
  3253.  
  3254. gdevmswn.$(OBJ): gdevmswn.c $(gdevmswn_h) $(gp_h) $(gpcheck_h) \
  3255.   $(gsparam_h) $(gdevpccm_h)
  3256.  
  3257. gdevmsxf.$(OBJ): gdevmsxf.c $(ctype__h) $(math__h) $(memory__h) \
  3258.   $(gdevmswn_h) $(gsstruct_h) $(gsutil_h) $(gxxfont_h)
  3259.  
  3260. # An implementation using a device-dependent bitmap.
  3261. gdevwddb.$(OBJ): gdevwddb.c $(gdevmswn_h)
  3262.  
  3263. # An implementation using a DIB filled by an image device.
  3264. gdevwdib.$(OBJ): gdevwdib.c $(dos__h) $(gdevmswn_h)
  3265.  
  3266. ### -------------------- The MS-Windows 3.n DLL ------------------------- ###
  3267.  
  3268. # Must use gdevwdib.  mswin device must use the same.
  3269. mswindll_=gdevmswn.$(OBJ) gdevmsxf.$(OBJ) gdevwdib.$(OBJ) \
  3270.   gdevemap.$(OBJ) gdevpccm.$(OBJ)
  3271. mswindll.dev: $(mswindll_)
  3272.     $(SETDEV) mswindll $(mswindll_)
  3273.  
  3274. ### -------------------- The MS-Windows DDB 3.n printer ----------------- ###
  3275.  
  3276. mswinprn_=gdevwprn.$(OBJ) gdevmsxf.$(OBJ)
  3277. mswinprn.dev: $(mswinprn_)
  3278.     $(SETDEV) mswinprn $(mswinprn_)
  3279.  
  3280. gdevwprn.$(OBJ): gdevwprn.c $(gdevmswn_h) $(gp_h)
  3281.  
  3282. ### -------------------- The MS-Windows DIB 3.n printer ----------------- ###
  3283.  
  3284. mswinpr2_=gdevwpr2.$(OBJ)
  3285. mswinpr2.dev: $(mswinpr2_) page.dev
  3286.     $(SETPDEV) mswinpr2 $(mswinpr2_)
  3287.  
  3288. gdevwpr2.$(OBJ): gdevwpr2.c $(gdevmswn_h) $(gp_h)
  3289.  
  3290. ### ------------------ OS/2 Presentation Manager device ----------------- ###
  3291.  
  3292. os2pm_=gdevpm.$(OBJ) gdevpccm.$(OBJ)
  3293. os2pm.dev: $(os2pm_)
  3294.     $(SETDEV) os2pm $(os2pm_)
  3295.  
  3296. os2dll_=gdevpm.$(OBJ) gdevpccm.$(OBJ)
  3297. os2dll.dev: $(os2dll_)
  3298.     $(SETDEV) os2dll $(os2dll_)
  3299.  
  3300. gdevpm.$(OBJ): gdevpm.c $(gp_h) $(gpcheck_h) \
  3301.   $(gsexit_h) $(gsparam_h) $(gdevpccm_h)
  3302.  
  3303. ### --------------------------- The OS/2 printer ------------------------ ###
  3304.  
  3305. os2prn_=gdevos2p.$(OBJ)
  3306. os2prn.dev: $(os2prn_) page.dev
  3307.     $(SETPDEV) os2prn $(os2prn_)
  3308.  
  3309. os2prn.$(OBJ): os2prn.c $(gp_h)
  3310.  
  3311. ### -------------- The AT&T 3b1 Unixpc monochrome display --------------- ###
  3312. ### Note: this driver was contributed by a user: please contact           ###
  3313. ###       Andy Fyfe (andy@cs.caltech.edu) if you have questions.          ###
  3314.  
  3315. att3b1_=gdev3b1.$(OBJ)
  3316. att3b1.dev: $(att3b1_)
  3317.     $(SETDEV) att3b1 $(att3b1_)
  3318.  
  3319. gdev3b1.$(OBJ): gdev3b1.c
  3320.  
  3321. ### ---------------------- Linux PC with vgalib ------------------------- ###
  3322. ### Note: these drivers were contributed by users.                        ###
  3323. ### For questions about the lvga256 driver, please contact                ###
  3324. ###       Ludger Kunz (ludger.kunz@fernuni-hagen.de).                     ###
  3325. ### For questions about the vgalib driver, please contact                 ###
  3326. ###       Erik Talvola (talvola@gnu.ai.mit.edu).                          ###
  3327.  
  3328. lvga256_=gdevl256.$(OBJ)
  3329. lvga256.dev: $(lvga256_)
  3330.     $(SETDEV) lvga256 $(lvga256_)
  3331.     $(ADDMOD) lvga256 -lib vga vgagl
  3332.  
  3333. gdevl256.$(OBJ): gdevl256.c $(GDEV) $(gxxfont_h)
  3334.  
  3335. vgalib_=gdevvglb.$(OBJ)
  3336. vgalib.dev: $(vgalib_)
  3337.     $(SETDEV) vgalib $(vgalib_)
  3338.     $(ADDMOD) vgalib -lib vga
  3339.  
  3340. gdevvglb.$(OBJ): gdevvglb.c $(GDEV)
  3341.  
  3342. ### ------------------- Sony NeWS frame buffer device ------------------ ###
  3343. ### Note: this driver was contributed by a user: please contact          ###
  3344. ###       Mike Smolenski (mike@intertech.com) if you have questions.     ###
  3345.  
  3346. # This is implemented as a 'printer' device.
  3347. sonyfb_=gdevsnfb.$(OBJ)
  3348. sonyfb.dev: $(sonyfb_) page.dev
  3349.     $(SETPDEV) sonyfb $(sonyfb_)
  3350.  
  3351. gdevsnfb.$(OBJ): gdevsnfb.c $(PDEVH)
  3352.  
  3353. ### ------------------------ The SunView device ------------------------ ###
  3354. ### Note: this driver is maintained by a user: if you have questions,    ###
  3355. ###       please contact Andreas Stolcke (stolcke@icsi.berkeley.edu).    ###
  3356.  
  3357. sunview_=gdevsun.$(OBJ)
  3358. sunview.dev: $(sunview_)
  3359.     $(SETDEV) sunview $(sunview_)
  3360.     $(ADDMOD) sunview -lib suntool sunwindow pixrect
  3361.  
  3362. gdevsun.$(OBJ): gdevsun.c $(GDEV) $(malloc__h) $(gscdefs_h) $(gsmatrix_h)
  3363.  
  3364. ### -------------------------- The X11 device -------------------------- ###
  3365.  
  3366. # Aladdin Enterprises does not support Ghostview.  For more information
  3367. # about Ghostview, please contact Tim Theisen (ghostview@cs.wisc.edu).
  3368.  
  3369. # See the main makefile for the definition of XLIBS.
  3370. x11_=gdevx.$(OBJ) gdevxini.$(OBJ) gdevxxf.$(OBJ) gdevemap.$(OBJ)
  3371. x11.dev: $(x11_)
  3372.     $(SETDEV) x11 $(x11_)
  3373.     $(ADDMOD) x11 -lib $(XLIBS)
  3374.  
  3375. # See the main makefile for the definition of XINCLUDE.
  3376. GDEVX=$(GDEV) x_.h gdevx.h $(MAKEFILE)
  3377. gdevx.$(OBJ): gdevx.c $(GDEVX) $(gsparam_h)
  3378.     $(CCC) $(XINCLUDE) gdevx.c
  3379.  
  3380. gdevxini.$(OBJ): gdevxini.c $(GDEVX) $(ctype__h)
  3381.     $(CCC) $(XINCLUDE) gdevxini.c
  3382.  
  3383. gdevxxf.$(OBJ): gdevxxf.c $(GDEVX) $(gsstruct_h) $(gsutil_h) $(gxxfont_h)
  3384.     $(CCC) $(XINCLUDE) gdevxxf.c
  3385.  
  3386. # Alternate X11-based devices to help debug other drivers.
  3387. # x11alpha pretends to have 4 bits of alpha channel.
  3388. # x11cmyk pretends to be a CMYK device with 1 bit each of C,M,Y,K.
  3389. # x11mono pretends to be a black-and-white device.
  3390. x11alt_=$(x11_) gdevxalt.$(OBJ)
  3391. x11alpha.dev: $(x11alt_)
  3392.     $(SETDEV) x11alpha $(x11alt_)
  3393.     $(ADDMOD) x11alpha -lib $(XLIBS)
  3394.  
  3395. x11cmyk.dev: $(x11alt_)
  3396.     $(SETDEV) x11cmyk $(x11alt_)
  3397.     $(ADDMOD) x11cmyk -lib $(XLIBS)
  3398.  
  3399. x11mono.dev: $(x11alt_)
  3400.     $(SETDEV) x11mono $(x11alt_)
  3401.     $(ADDMOD) x11mono -lib $(XLIBS)
  3402.  
  3403. gdevxalt.$(OBJ): gdevxalt.c $(GDEVX) $(PDEVH)
  3404.     $(CCC) $(XINCLUDE) gdevxalt.c
  3405.  
  3406. ### ------------------------- DEC sixel displays ------------------------ ###
  3407. ### Note: this driver was contributed by a user: please contact           ###
  3408. ###   Phil Keegstra (keegstra@tonga.gsfc.nasa.gov) if you have questions. ###
  3409.  
  3410. # This is a "printer" device, but it probably shouldn't be.
  3411. # I don't know why the implementor chose to do it this way.
  3412. sxlcrt_=gdevln03.$(OBJ)
  3413. sxlcrt.dev: $(sxlcrt_) page.dev
  3414.     $(SETPDEV) sxlcrt $(sxlcrt_)
  3415.  
  3416. ###### --------------- Memory-buffered printer devices --------------- ######
  3417.  
  3418. ### --------------------- The Apple printer devices --------------------- ###
  3419. ### Note: these drivers were contributed by users.                        ###
  3420. ###   If you have questions about the DMP driver, please contact          ###
  3421. ###    Mark Wedel (master@cats.ucsc.edu).                                ###
  3422. ###   If you have questions about the Imagewriter drivers, please contact ###
  3423. ###    Jonathan Luckey (luckey@rtfm.mlb.fl.us).                          ###
  3424. ###   If you have questions about the Imagewriter LQ driver, please       ###
  3425. ###    contact Scott Barker (barkers@cuug.ab.ca).                        ###
  3426.  
  3427. appledmp_=gdevadmp.$(OBJ)
  3428.  
  3429. gdevadmp.$(OBJ): gdevadmp.c $(GDEV) $(gdevprn_h)
  3430.  
  3431. appledmp.dev: $(appledmp_) page.dev
  3432.     $(SETPDEV) appledmp $(appledmp_)
  3433.  
  3434. iwhi.dev: $(appledmp_) page.dev
  3435.     $(SETPDEV) iwhi $(appledmp_)
  3436.  
  3437. iwlo.dev: $(appledmp_) page.dev
  3438.     $(SETPDEV) iwlo $(appledmp_)
  3439.  
  3440. iwlq.dev: $(appledmp_) page.dev
  3441.     $(SETPDEV) iwlq $(appledmp_)
  3442.  
  3443. ### ------------ The Canon BubbleJet BJ10e and BJ200 devices ------------ ###
  3444.  
  3445. bj10e_=gdevbj10.$(OBJ)
  3446.  
  3447. bj10e.dev: $(bj10e_) page.dev
  3448.     $(SETPDEV) bj10e $(bj10e_)
  3449.  
  3450. bj200.dev: $(bj10e_) page.dev
  3451.     $(SETPDEV) bj200 $(bj10e_)
  3452.  
  3453. gdevbj10.$(OBJ): gdevbj10.c $(PDEVH)
  3454.  
  3455. ### ----------- The H-P DeskJet and LaserJet printer devices ----------- ###
  3456.  
  3457. ### These are essentially the same device.
  3458. ### NOTE: printing at full resolution (300 DPI) requires a printer
  3459. ###   with at least 1.5 Mb of memory.  150 DPI only requires .5 Mb.
  3460. ### Note that the lj4dith driver is included with the H-P color printer
  3461. ###   drivers below.
  3462.  
  3463. HPPCL=gdevpcl.$(OBJ)
  3464. HPMONO=gdevdjet.$(OBJ) $(HPPCL)
  3465.  
  3466. gdevpcl.$(OBJ): gdevpcl.c $(PDEVH) $(gdevpcl_h)
  3467.  
  3468. gdevdjet.$(OBJ): gdevdjet.c $(PDEVH) $(gdevpcl_h)
  3469.  
  3470. deskjet.dev: $(HPMONO) page.dev
  3471.     $(SETPDEV) deskjet $(HPMONO)
  3472.  
  3473. djet500.dev: $(HPMONO) page.dev
  3474.     $(SETPDEV) djet500 $(HPMONO)
  3475.  
  3476. laserjet.dev: $(HPMONO) page.dev
  3477.     $(SETPDEV) laserjet $(HPMONO)
  3478.  
  3479. ljetplus.dev: $(HPMONO) page.dev
  3480.     $(SETPDEV) ljetplus $(HPMONO)
  3481.  
  3482. ### Selecting ljet2p provides TIFF (mode 2) compression on LaserJet III,
  3483. ### IIIp, IIId, IIIsi, IId, and IIp. 
  3484.  
  3485. ljet2p.dev: $(HPMONO) page.dev
  3486.     $(SETPDEV) ljet2p $(HPMONO)
  3487.  
  3488. ### Selecting ljet3 provides Delta Row (mode 3) compression on LaserJet III,
  3489. ### IIIp, IIId, IIIsi.
  3490.  
  3491. ljet3.dev: $(HPMONO) page.dev
  3492.     $(SETPDEV) ljet3 $(HPMONO)
  3493.  
  3494. ### Selecting ljet3d also provides duplex printing capability.
  3495.  
  3496. ljet3d.dev: $(HPMONO) page.dev
  3497.     $(SETPDEV) ljet3d $(HPMONO)
  3498.  
  3499. ### Selecting ljet4 also provides Delta Row compression on LaserJet IV series.
  3500.  
  3501. ljet4.dev: $(HPMONO) page.dev
  3502.     $(SETPDEV) ljet4 $(HPMONO)
  3503.  
  3504. lp2563.dev: $(HPMONO) page.dev
  3505.     $(SETPDEV) lp2563 $(HPMONO)
  3506.  
  3507. oce9050.dev: $(HPMONO) page.dev
  3508.     $(SETPDEV) oce9050 $(HPMONO)
  3509.  
  3510. ### The H-P DeskJet, PaintJet, and DesignJet family color printer devices.###
  3511. ### Note: there are two different 500C drivers, both contributed by users.###
  3512. ###   If you have questions about the djet500c driver,                    ###
  3513. ###       please contact AKayser@et.tudelft.nl.                           ###
  3514. ###   If you have questions about the cdj* drivers,                       ###
  3515. ###       please contact g.cameron@biomed.abdn.ac.uk.                     ###
  3516. ###   If you have questions about the dnj560c driver,                     ###
  3517. ###       please contact koert@zen.cais.com.                              ###
  3518. ###   If you have questions about the lj4dith driver,                     ###
  3519. ###       please contact Eckhard.Rueggeberg@ts.go.dlr.de.                 ###
  3520. ###   If you have questions about the BJC600/BJC4000, BJC800, or ESCP     ###
  3521. ###       drivers, please contact Yves.Arrouye@imag.fr.                   ###
  3522.  
  3523. cdeskjet_=gdevcdj.$(OBJ) $(HPPCL)
  3524.  
  3525. cdeskjet.dev: $(cdeskjet_) page.dev
  3526.     $(SETPDEV) cdeskjet $(cdeskjet_)
  3527.  
  3528. cdjcolor.dev: $(cdeskjet_) page.dev
  3529.     $(SETPDEV) cdjcolor $(cdeskjet_)
  3530.  
  3531. cdjmono.dev: $(cdeskjet_) page.dev
  3532.     $(SETPDEV) cdjmono $(cdeskjet_)
  3533.  
  3534. cdj500.dev: $(cdeskjet_) page.dev
  3535.     $(SETPDEV) cdj500 $(cdeskjet_)
  3536.  
  3537. cdj550.dev: $(cdeskjet_) page.dev
  3538.     $(SETPDEV) cdj550 $(cdeskjet_)
  3539.  
  3540. declj250.dev: $(cdeskjet_) page.dev
  3541.     $(SETPDEV) declj250 $(cdeskjet_)
  3542.  
  3543. dnj650c.dev: $(cdeskjet_) page.dev
  3544.     $(SETPDEV) dnj650c $(cdeskjet_)
  3545.  
  3546. lj4dith.dev: $(cdeskjet_) page.dev
  3547.     $(SETPDEV) lj4dith $(cdeskjet_)
  3548.  
  3549. pj.dev: $(cdeskjet_) page.dev
  3550.     $(SETPDEV) pj $(cdeskjet_)
  3551.  
  3552. pjxl.dev: $(cdeskjet_) page.dev
  3553.     $(SETPDEV) pjxl $(cdeskjet_)
  3554.  
  3555. pjxl300.dev: $(cdeskjet_) page.dev
  3556.     $(SETPDEV) pjxl300 $(cdeskjet_)
  3557.  
  3558. # Note: the BJC600 driver also works for the BJC4000.
  3559. bjc600.dev: $(cdeskjet_) page.dev
  3560.     $(SETPDEV) bjc600 $(cdeskjet_)
  3561.  
  3562. bjc800.dev: $(cdeskjet_) page.dev
  3563.     $(SETPDEV) bjc800 $(cdeskjet_)
  3564.  
  3565. escp.dev: $(cdeskjet_) page.dev
  3566.     $(SETPDEV) escp $(cdeskjet_)
  3567.  
  3568. # NB: you can also customise the build if required, using
  3569. # -DBitsPerPixel=<number> if you wish the default to be other than 24
  3570. # for the generic drivers (cdj500, cdj550, pjxl300, pjtest, pjxltest).
  3571. gdevcdj.$(OBJ): gdevcdj.c $(PDEVH) $(gdevpcl_h)
  3572.     $(CCC) -I. -I$(srcdir) $(srcdir)/gdevcdj.c
  3573.  
  3574. djet500c_=gdevdjtc.$(OBJ) $(HPPCL)
  3575. djet500c.dev: $(djet500c_) page.dev
  3576.     $(SETPDEV) djet500c $(djet500c_)
  3577.  
  3578. gdevdjtc.$(OBJ): gdevdjtc.c $(PDEVH) $(gdevpcl_h)
  3579.  
  3580. ### -------------------- The Mitsubishi CP50 printer -------------------- ###
  3581. ### Note: this driver was contributed by a user: please contact           ###
  3582. ###       Michael Hu (michael@ximage.com) if you have questions.          ###
  3583.  
  3584. cp50_=gdevcp50.$(OBJ)
  3585. cp50.dev: $(cp50_) page.dev
  3586.     $(SETPDEV) cp50 $(cp50_)
  3587.  
  3588. gdevcp50.$(OBJ): gdevcp50.c $(PDEVH)
  3589.  
  3590. ### ----------------- The generic Epson printer device ----------------- ###
  3591. ### Note: most of this code was contributed by users.  Please contact    ###
  3592. ###       the following people if you have questions:                    ###
  3593. ###   eps9mid - Guenther Thomsen (thomsen@cs.tu-berlin.de)               ###
  3594. ###   eps9high - David Wexelblat (dwex@mtgzfs3.att.com)                  ###
  3595. ###   ibmpro - James W. Birdsall (jwbirdsa@picarefy.picarefy.com)        ###
  3596.  
  3597. epson_=gdevepsn.$(OBJ)
  3598.  
  3599. epson.dev: $(epson_) page.dev
  3600.     $(SETPDEV) epson $(epson_)
  3601.  
  3602. eps9mid.dev: $(epson_) page.dev
  3603.     $(SETPDEV) eps9mid $(epson_)
  3604.  
  3605. eps9high.dev: $(epson_) page.dev
  3606.     $(SETPDEV) eps9high $(epson_)
  3607.  
  3608. gdevepsn.$(OBJ): gdevepsn.c $(PDEVH)
  3609.  
  3610. ### ----------------- The IBM Proprinter printer device ---------------- ###
  3611.  
  3612. ibmpro.dev: $(epson_) page.dev
  3613.     $(SETPDEV) ibmpro $(epson_)
  3614.  
  3615. ### -------------- The Epson LQ-2550 color printer device -------------- ###
  3616. ### Note: this driver was contributed by users: please contact           ###
  3617. ###       Dave St. Clair (dave@exlog.com) if you have questions.         ###
  3618.  
  3619. epsonc_=gdevepsc.$(OBJ)
  3620. epsonc.dev: $(epsonc_) page.dev
  3621.     $(SETPDEV) epsonc $(epsonc_)
  3622.  
  3623. gdevepsc.$(OBJ): gdevepsc.c $(PDEVH)
  3624.  
  3625. ### ------------- The Epson ESC/P 2 language printer devices ------------- ###
  3626. ### Note: these drivers were contributed by users.                         ###
  3627. ### For questions about the Stylus 800 and AP3250 drivers, please contact  ###
  3628. ###        Richard Brown (rab@tauon.ph.unimelb.edu.au).                    ###
  3629. ### For questions about the Stylus Color driver, please contact            ###
  3630. ###        Gunther Hess (hess@ims.fhg.de until 28-feb-95; after that,      ###
  3631. ###          see the other contact information in the source file).        ###
  3632.  
  3633. ESCP2=gdevescp.$(OBJ)
  3634.  
  3635. gdevescp.$(OBJ): gdevescp.c $(PDEVH)
  3636.  
  3637. ap3250.dev: $(ESCP2) page.dev
  3638.     $(SETPDEV) ap3250 $(ESCP2)
  3639.  
  3640. st800.dev: $(ESCP2) page.dev
  3641.     $(SETPDEV) st800 $(ESCP2)
  3642.  
  3643. stcolor_=gdevstc.$(OBJ)  \
  3644.     gdevstc1.$(OBJ) gdevstc2.$(OBJ) gdevstc3.$(OBJ) gdevstc4.$(OBJ)
  3645. stcolor.dev: $(stcolor_) page.dev
  3646.     $(SETPDEV) stcolor $(stcolor_)
  3647.  
  3648. gdevstc.$(OBJ): gdevstc.c gdevstc.h $(PDEVH)
  3649.  
  3650. gdevstc1.$(OBJ): gdevstc1.c gdevstc.h $(PDEVH)
  3651.  
  3652. gdevstc2.$(OBJ): gdevstc2.c gdevstc.h $(PDEVH)
  3653.  
  3654. gdevstc3.$(OBJ): gdevstc3.c gdevstc.h $(PDEVH)
  3655.  
  3656. gdevstc4.$(OBJ): gdevstc4.c gdevstc.h $(PDEVH)
  3657.  
  3658. escp2c_=gdevep2c.$(OBJ)
  3659. escp2cfs_=gdevep2c.$(OBJ)
  3660. escp2cdither_=gdevep2c.$(OBJ)
  3661. escp2cf2_=gdevep2c.$(OBJ)
  3662.  
  3663. escp2c.dev: $(escp2c_) page.dev
  3664.     $(SETPDEV) escp2c $(escp2c_)
  3665.  
  3666. escp2cfs.dev: $(escp2cfs_) page.dev
  3667.     $(SETPDEV) escp2cfs $(escp2cfs_)
  3668.  
  3669. escp2cdither.dev: $(escp2cdither_) page.dev
  3670.     $(SETPDEV) escp2cdither $(escp2cdither_)
  3671.  
  3672. escp2cf2.dev: $(escp2cf2_) page.dev
  3673.     $(SETPDEV) escp2cf2 $(escp2cf2_)
  3674.  
  3675. gdevep2c.$(OBJ): gdevep2c.c $(PDEVH)
  3676.  
  3677. ### ------------ The H-P PaintJet color printer device ----------------- ###
  3678. ### Note: this driver also supports the DEC LJ250 color printer, which   ###
  3679. ###       has a PaintJet-compatible mode, and the PaintJet XL.           ###
  3680. ### If you have questions about the XL, please contact Rob Reiss         ###
  3681. ###       (rob@moray.berkeley.edu).                                      ###
  3682.  
  3683. PJET=gdevpjet.$(OBJ) $(HPPCL)
  3684.  
  3685. gdevpjet.$(OBJ): gdevpjet.c $(PDEVH) $(gdevpcl_h)
  3686.  
  3687. lj250.dev: $(PJET) page.dev
  3688.     $(SETPDEV) lj250 $(PJET)
  3689.  
  3690. paintjet.dev: $(PJET) page.dev
  3691.     $(SETPDEV) paintjet $(PJET)
  3692.  
  3693. pjetxl.dev: $(PJET) page.dev
  3694.     $(SETPDEV) pjetxl $(PJET)
  3695.  
  3696. ### -------------- Imagen ImPress Laser Printer device ----------------- ###
  3697. ### Note: this driver was contributed by a user: please contact          ###
  3698. ###       Alan Millar (AMillar@bolis.sf-bay.org) if you have questions.  ###
  3699. ### Set USE_BYTE_STREAM if using parallel interface;                     ###
  3700. ### Don't set it if using 'ipr' spooler (default).                       ###
  3701. ### You may also add -DA4 if needed for A4 paper.             ###
  3702.  
  3703. imagen_=gdevimgn.$(OBJ)
  3704. imagen.dev: $(imagen_) page.dev
  3705.     $(SETPDEV) imagen $(imagen_)
  3706.  
  3707. gdevimgn.$(OBJ): gdevimgn.c $(PDEVH)
  3708.     $(CCC) gdevimgn.c            # for ipr spooler
  3709. #    $(CCC) -DUSE_BYTE_STREAM gdevimgn.c    # for parallel
  3710.  
  3711. ### ------- The IBM 3852 JetPrinter color inkjet printer device -------- ###
  3712. ### Note: this driver was contributed by users: please contact           ###
  3713. ###       Kevin Gift (kgift@draper.com) if you have questions.           ###
  3714. ### Note that the paper size that can be addressed by the graphics mode  ###
  3715. ###   used in this driver is fixed at 7-1/2 inches wide (the printable   ###
  3716. ###   width of the jetprinter itself.)                                   ###
  3717.  
  3718. jetp3852_=gdev3852.$(OBJ)
  3719. jetp3852.dev: $(jetp3852_) page.dev
  3720.     $(SETPDEV) jetp3852 $(jetp3852_)
  3721.  
  3722. gdev3852.$(OBJ): gdev3852.c $(PDEVH) $(gdevpcl_h)
  3723.  
  3724. ### ---------- The Canon LBP-8II and LIPS III printer devices ---------- ###
  3725. ### Note: these drivers were contributed by users.                       ###
  3726. ### For questions about the LBP8 driver, please contact                  ###
  3727. ###       Tom Quinn (trq@prg.oxford.ac.uk).                              ###
  3728. ### For questions about the LIPS III driver, please contact              ###
  3729. ###       Kenji Okamoto (okamoto@okamoto.cias.osakafu-u.ac.jp).          ###
  3730.  
  3731. lbp8_=gdevlbp8.$(OBJ)
  3732. lbp8.dev: $(lbp8_) page.dev
  3733.     $(SETPDEV) lbp8 $(lbp8_)
  3734.  
  3735. lips3.dev: $(lbp8_) page.dev
  3736.     $(SETPDEV) lips3 $(lbp8_)
  3737.  
  3738. gdevlbp8.$(OBJ): gdevlbp8.c $(PDEVH)
  3739.  
  3740. ### ----------- The DEC LN03/LA50/LA70/LA75 printer devices ------------ ###
  3741. ### Note: this driver was contributed by users: please contact           ###
  3742. ###       Ulrich Mueller (ulm@vsnhd1.cern.ch) if you have questions.     ###
  3743. ### For questions about LA50 and LA75, please contact                    ###
  3744. ###       Ian MacPhedran (macphed@dvinci.USask.CA).                      ###
  3745. ### For questions about the LA70, please contact                         ###
  3746. ###       Bruce Lowekamp (lowekamp@csugrad.cs.vt.edu).                   ###
  3747. ### For questions about the LA75plus, please contact                     ###
  3748. ###       Andre' Beck (Andre_Beck@IRS.Inf.TU-Dresden.de).                ###
  3749.  
  3750. ln03_=gdevln03.$(OBJ)
  3751. ln03.dev: $(ln03_) page.dev
  3752.     $(SETPDEV) ln03 $(ln03_)
  3753.  
  3754. la50.dev: $(ln03_) page.dev
  3755.     $(SETPDEV) la50 $(ln03_)
  3756.  
  3757. la70.dev: $(ln03_) page.dev
  3758.     $(SETPDEV) la70 $(ln03_)
  3759.  
  3760. la75.dev: $(ln03_) page.dev
  3761.     $(SETPDEV) la75 $(ln03_)
  3762.  
  3763. la75plus.dev: $(ln03_) page.dev
  3764.     $(SETPDEV) la75plus $(ln03_)
  3765.  
  3766. gdevln03.$(OBJ): gdevln03.c $(PDEVH)
  3767.  
  3768. # LA70 driver with low-resolution text enhancement.
  3769.  
  3770. la70t_=gdevla7t.$(OBJ)
  3771. la70t.dev: $(la70t_) page.dev
  3772.     $(SETPDEV) la70t $(la70t_)
  3773.  
  3774. gdevla7t.$(OBJ): gdevla7t.c $(PDEVH)
  3775.  
  3776. ### -------------- The C.Itoh M8510 printer device --------------------- ###
  3777. ### Note: this driver was contributed by a user: please contact Bob      ###
  3778. ###       Smith <bob@snuffy.penfield.ny.us> if you have questions.       ###
  3779.  
  3780. m8510_=gdev8510.$(OBJ)
  3781. m8510.dev: $(m8510_) page.dev
  3782.     $(SETPDEV) m8510 $(m8510_)
  3783.  
  3784. gdev8510.$(OBJ): gdev8510.c $(PDEVH)
  3785.  
  3786. ### --------------------- The NEC P6 family devices -------------------- ###
  3787.  
  3788. necp6_=gdevnp6.$(OBJ)
  3789. necp6.dev: $(necp6_) page.dev
  3790.     $(SETPDEV) necp6 $(necp6_)
  3791.  
  3792. gdevnp6.$(OBJ): gdevnp6.c $(PDEVH)
  3793.  
  3794. ### ----------------- The Okidata MicroLine 182 device ----------------- ###
  3795. ### Note: this driver was contributed by a user: please contact          ###
  3796. ###       Maarten Koning (smeg@bnr.ca) if you have questions.            ###
  3797.  
  3798. oki182_=gdevo182.$(OBJ)
  3799. oki182.dev: $(oki182_) page.dev
  3800.     $(SETPDEV) oki182 $(oki182_)
  3801.  
  3802. gdevo182.$(OBJ): gdevo182.c $(PDEVH)
  3803.  
  3804. ### ------------- The Okidata IBM compatible printer device ------------ ###
  3805. ### Note: this driver was contributed by a user: please contact          ###
  3806. ###       Charles Mack (chasm@netcom.com) if you have questions.         ###
  3807.  
  3808. okiibm_=gdevokii.$(OBJ)
  3809. okiibm.dev: $(okiibm_) page.dev
  3810.     $(SETPDEV) okiibm $(okiibm_)
  3811.  
  3812. gdevokii.$(OBJ): gdevokii.c $(PDEVH)
  3813.  
  3814. ### ------------- The Ricoh 4081 laser printer device ------------------ ###
  3815. ### Note: this driver was contributed by users:                          ###
  3816. ###       please contact kdw@oasis.icl.co.uk if you have questions.      ###
  3817.  
  3818. r4081_=gdev4081.$(OBJ)
  3819. r4081.dev: $(r4081_) page.dev
  3820.     $(SETPDEV) r4081 $(r4081_)
  3821.  
  3822.  
  3823. gdev4081.$(OBJ): gdev4081.c $(PDEVH)
  3824.  
  3825. ### -------------------- Sony NWP533 printer device -------------------- ###
  3826. ### Note: this driver was contributed by a user: please contact Tero     ###
  3827. ###       Kivinen (kivinen@joker.cs.hut.fi) if you have questions.       ###
  3828.  
  3829. nwp533_=gdevn533.$(OBJ)
  3830. nwp533.dev: $(nwp533_) page.dev
  3831.     $(SETPDEV) nwp533 $(nwp533_)
  3832.  
  3833. gdevn533.$(OBJ): gdevn533.c $(PDEVH)
  3834.  
  3835. ### ------------------------- The SPARCprinter ------------------------- ###
  3836. ### Note: this driver was contributed by users: please contact Martin    ###
  3837. ###       Schulte (schulte@thp.uni-koeln.de) if you have questions.      ###
  3838. ###       He would also like to hear from anyone using the driver.       ###
  3839. ### Please consult the source code for additional documentation.         ###
  3840.  
  3841. sparc_=gdevsppr.$(OBJ)
  3842. sparc.dev: $(sparc_) page.dev
  3843.     $(SETPDEV) sparc $(sparc_)
  3844.  
  3845. gdevsppr.$(OBJ): gdevsppr.c $(PDEVH)
  3846.  
  3847. ### ----------------- The StarJet SJ48 device -------------------------- ###
  3848. ### Note: this driver was contributed by a user: if you have questions,  ###
  3849. ###                          .                                          ###
  3850. ###       please contact Mats Akerblom (f86ma@dd.chalmers.se).           ###
  3851.  
  3852. sj48_=gdevsj48.$(OBJ)
  3853. sj48.dev: $(sj48_) page.dev
  3854.     $(SETPDEV) sj48 $(sj48_)
  3855.  
  3856. gdevsj48.$(OBJ): gdevsj48.c $(PDEVH)
  3857.  
  3858. ### ----------------- Tektronix 4396d color printer -------------------- ###
  3859. ### Note: this driver was contributed by a user: please contact          ###
  3860. ###       Karl Hakimian (hakimian@haney.eecs.wsu.edu)                    ###
  3861. ###       if you have questions.                                         ###
  3862.  
  3863. t4693d_=gdev4693.$(OBJ)
  3864. t4693d2.dev: $(t4693d_) page.dev
  3865.     $(SETPDEV) t4693d2 $(t4693d_)
  3866.  
  3867. t4693d4.dev: $(t4693d_) page.dev
  3868.     $(SETPDEV) t4693d4 $(t4693d_)
  3869.  
  3870. t4693d8.dev: $(t4693d_) page.dev
  3871.     $(SETPDEV) t4693d8 $(t4693d_)
  3872.  
  3873. gdev4693.$(OBJ): gdev4693.c $(GDEV)
  3874.  
  3875. ### -------------------- Tektronix ink-jet printers -------------------- ###
  3876. ### Note: this driver was contributed by a user: please contact          ###
  3877. ###       Karsten Spang (spang@nbivax.nbi.dk) if you have questions.     ###
  3878.  
  3879. tek4696_=gdevtknk.$(OBJ)
  3880. tek4696.dev: $(tek4696_) page.dev
  3881.     $(SETPDEV) tek4696 $(tek4696_)
  3882.  
  3883. gdevtknk.$(OBJ): gdevtknk.c $(PDEVH)
  3884.  
  3885. ###### ------------------------- Fax devices ------------------------- ######
  3886.  
  3887. ### --------------- Generic PostScript system compatible fax ------------ ###
  3888.  
  3889. # This code doesn't work yet.  Don't even think about using it.
  3890.  
  3891. PSFAX=gdevpfax.$(OBJ)
  3892.  
  3893. psfax_=$(PSFAX)
  3894. psfax.dev: $(psfax_) page.dev
  3895.     $(SETPDEV) psfax $(psfax_)
  3896.     $(ADDMOD) psfax -iodev Fax
  3897.  
  3898. gdevpfax.$(OBJ): gdevpfax.c $(PDEVH) $(gxiodev_h)
  3899.  
  3900. ### ------------------------- The DigiFAX device ------------------------ ###
  3901. ###    This driver outputs images in a format suitable for use with       ###
  3902. ###    DigiBoard, Inc.'s DigiFAX software.  Use -sDEVICE=dfaxhigh for     ###
  3903. ###    high resolution output, -sDEVICE=dfaxlow for normal output.        ###
  3904. ### Note: this driver was contributed by a user: please contact           ###
  3905. ###       Rick Richardson (rick@digibd.com) if you have questions.        ###
  3906.  
  3907. dfax_=gdevdfax.$(OBJ) gdevtfax.$(OBJ)
  3908.  
  3909. dfaxlow.dev: $(dfax_) page.dev
  3910.     $(SETPDEV) dfaxlow $(dfax_)
  3911.     $(ADDMOD) dfaxlow -include cfe
  3912.  
  3913. dfaxhigh.dev: $(dfax_) page.dev
  3914.     $(SETPDEV) dfaxhigh $(dfax_)
  3915.     $(ADDMOD) dfaxlow -include cfe
  3916.  
  3917. gdevdfax.$(OBJ): gdevdfax.c $(GDEV) $(gdevprn_h)
  3918.  
  3919. ### ----------------- The Xerox XES printer device --------------------- ###
  3920. ### Note: this driver was contributed by users: please contact           ###
  3921. ###       Peter Flass (flass@lbdrscs.bitnet) if you have questions.      ###
  3922.  
  3923. xes_=gdevxes.$(OBJ)
  3924. xes.dev: $(xes_) page.dev
  3925.     $(SETPDEV) xes $(xes_)
  3926.  
  3927. gdevxes.$(OBJ): gdevxes.c $(GDEV)
  3928.  
  3929. ### --------------------- The "plain bits" devices ---------------------- ###
  3930.  
  3931. bit_=gdevbit.$(OBJ)
  3932.  
  3933. bit.dev: $(bit_) page.dev
  3934.     $(SETPDEV) bit $(bit_)
  3935.  
  3936. bitrgb.dev: $(bit_) page.dev
  3937.     $(SETPDEV) bitrgb $(bit_)
  3938.  
  3939. bitcmyk.dev: $(bit_) page.dev
  3940.     $(SETPDEV) bitcmyk $(bit_)
  3941.  
  3942. gdevbit.$(OBJ): gdevbit.c $(PDEVH) $(gsparam_h) $(gxlum_h)
  3943.  
  3944. ###### ------------------------- File formats ------------------------ ######
  3945.  
  3946. ### ------------------------- .BMP file formats ------------------------- ###
  3947.  
  3948. bmp_=gdevbmp.$(OBJ) gdevpccm.$(OBJ)
  3949.  
  3950. gdevbmp.$(OBJ): gdevbmp.c $(PDEVH) $(gdevpccm_h)
  3951.  
  3952. bmpmono.dev: $(bmp_) page.dev
  3953.     $(SETPDEV) bmpmono $(bmp_)
  3954.  
  3955. bmp16.dev: $(bmp_) page.dev
  3956.     $(SETPDEV) bmp16 $(bmp_)
  3957.  
  3958. bmp256.dev: $(bmp_) page.dev
  3959.     $(SETPDEV) bmp256 $(bmp_)
  3960.  
  3961. bmp16m.dev: $(bmp_) page.dev
  3962.     $(SETPDEV) bmp16m $(bmp_)
  3963.  
  3964. ### -------------------------- CGM file format ------------------------- ###
  3965. ### This driver is under development.  Use at your own risk.             ###
  3966. ### The output is very low-level, consisting only of rectangles and      ###
  3967. ### cell arrays.                                                         ###
  3968.  
  3969. cgm_=gdevcgm.$(OBJ) gdevcgml.$(OBJ)
  3970.  
  3971. gdevcgml_h=gdevcgml.h
  3972. gdevcgmx_h=gdevcgmx.h $(gdevcgml_h)
  3973.  
  3974. gdevcgm.$(OBJ): gdevcgm.c $(GDEV) $(gsparam_h) $(gdevpccm_h) $(gdevcgml_h)
  3975.  
  3976. gdevcgml.$(OBJ): gdevcgml.c $(memory__h) $(stdio__h) \
  3977.   $(gdevcgml_h) $(gdevcgmx_h)
  3978.  
  3979. cgmmono.dev: $(cgm_)
  3980.     $(SETDEV) cgmmono $(cgm_)
  3981.  
  3982. cgm8.dev: $(cgm_)
  3983.     $(SETDEV) cgm8 $(cgm_)
  3984.  
  3985. cgm24.dev: $(cgm_)
  3986.     $(SETDEV) cgm24 $(cgm_)
  3987.  
  3988. ### -------------------- The CIF file format for VLSI ------------------ ###
  3989. ### Note: this driver was contributed by a user: please contact          ###
  3990. ###       Frederic Petrot (petrot@masi.ibp.fr) if you have questions.    ###
  3991.  
  3992. cif_=gdevcif.$(OBJ)
  3993. cif.dev: $(cif_) page.dev
  3994.     $(SETPDEV) cif $(cif_)
  3995.  
  3996. gdevcif.$(OBJ): gdevcif.c $(PDEVH)
  3997.  
  3998. ### --------------------------- MGR devices ---------------------------- ###
  3999. ### Note: these drivers were contributed by a user: please contact       ###
  4000. ###       Carsten Emde (carsten@ce.pr.net.ch) if you have questions.     ###
  4001.  
  4002. MGR=gdevmgr.$(OBJ) gdevpccm.$(OBJ)
  4003.  
  4004. gdevmgr.$(OBJ): gdevmgr.c $(PDEVH) $(gdevpccm_h) gdevmgr.h
  4005.  
  4006. mgrmono.dev: $(MGR) page.dev
  4007.     $(SETPDEV) mgrmono $(MGR)
  4008.  
  4009. mgrgray2.dev: $(MGR) page.dev
  4010.     $(SETPDEV) mgrgray2 $(MGR)
  4011.  
  4012. mgrgray4.dev: $(MGR) page.dev
  4013.     $(SETPDEV) mgrgray4 $(MGR)
  4014.  
  4015. mgrgray8.dev: $(MGR) page.dev
  4016.     $(SETPDEV) mgrgray8 $(MGR)
  4017.  
  4018. mgr4.dev: $(MGR) page.dev
  4019.     $(SETPDEV) mgr4 $(MGR)
  4020.  
  4021. mgr8.dev: $(MGR) page.dev
  4022.     $(SETPDEV) mgr8 $(MGR)
  4023.  
  4024. ### ------------------------- PCX file formats ------------------------- ###
  4025.  
  4026. pcx_=gdevpcx.$(OBJ) gdevpccm.$(OBJ)
  4027.  
  4028. gdevpcx.$(OBJ): gdevpcx.c $(PDEVH) $(gdevpccm_h) $(gxlum_h)
  4029.  
  4030. pcxmono.dev: $(pcx_) page.dev
  4031.     $(SETPDEV) pcxmono $(pcx_)
  4032.  
  4033. pcxgray.dev: $(pcx_) page.dev
  4034.     $(SETPDEV) pcxgray $(pcx_)
  4035.  
  4036. pcx16.dev: $(pcx_) page.dev
  4037.     $(SETPDEV) pcx16 $(pcx_)
  4038.  
  4039. pcx256.dev: $(pcx_) page.dev
  4040.     $(SETPDEV) pcx256 $(pcx_)
  4041.  
  4042. pcx24b.dev: $(pcx_) page.dev
  4043.     $(SETPDEV) pcx24b $(pcx_)
  4044.  
  4045. ### ------------------- Portable Bitmap file formats ------------------- ###
  4046. ### For more information, see the pbm(5), pgm(5), and ppm(5) man pages.  ###
  4047.  
  4048. pxm_=gdevpbm.$(OBJ)
  4049.  
  4050. gdevpbm.$(OBJ): gdevpbm.c $(PDEVH) $(gscdefs_h) $(gxlum_h)
  4051.  
  4052. ### Portable Bitmap (PBM, plain or raw format, magic numbers "P1" or "P4")
  4053.  
  4054. pbm.dev: $(pxm_) page.dev
  4055.     $(SETPDEV) pbm $(pxm_)
  4056.  
  4057. pbmraw.dev: $(pxm_) page.dev
  4058.     $(SETPDEV) pbmraw $(pxm_)
  4059.  
  4060. ### Portable Graymap (PGM, plain or raw format, magic numbers "P2" or "P5")
  4061.  
  4062. pgm.dev: $(pxm_) page.dev
  4063.     $(SETPDEV) pgm $(pxm_)
  4064.  
  4065. pgmraw.dev: $(pxm_) page.dev
  4066.     $(SETPDEV) pgmraw $(pxm_)
  4067.  
  4068. # PGM with automatic optimization to PBM if this is possible.
  4069.  
  4070. pgnm.dev: $(pxm_) page.dev
  4071.     $(SETPDEV) pgnm $(pxm_)
  4072.  
  4073. pgnmraw.dev: $(pxm_) page.dev
  4074.     $(SETPDEV) pgnmraw $(pxm_)
  4075.  
  4076. ### Portable Pixmap (PPM, plain or raw format, magic numbers "P3" or "P6")
  4077.  
  4078. ppm.dev: $(pxm_) page.dev
  4079.     $(SETPDEV) ppm $(pxm_)
  4080.  
  4081. ppmraw.dev: $(pxm_) page.dev
  4082.     $(SETPDEV) ppmraw $(pxm_)
  4083.  
  4084. # PPM with automatic optimization to PGM or PBM if possible.
  4085.  
  4086. pnm.dev: $(pxm_) page.dev
  4087.     $(SETPDEV) pnm $(pxm_)
  4088.  
  4089. pnmraw.dev: $(pxm_) page.dev
  4090.     $(SETPDEV) pnmraw $(pxm_)
  4091.  
  4092. ### --------------- Portable Network Graphics file format --------------- ###
  4093. ### Requires libpng 0.71 and zlib 0.93 (or more recent versions) from     ###
  4094. ### ftp://ftp.uu.net/graphics/png.  See png.mak for more details.         ###
  4095.  
  4096. png_=gdevpng.$(OBJ)
  4097.  
  4098. pngmono.dev: pnglib.dev $(png_) page.dev
  4099.     $(SETPDEV) pngmono  $(png_)
  4100.     $(ADDMOD) pngmono  -include pnglib
  4101.  
  4102. pnggray.dev: pnglib.dev $(png_) page.dev
  4103.     $(SETPDEV) pnggray  $(png_)
  4104.     $(ADDMOD) pnggray  -include pnglib
  4105.  
  4106. png16.dev: pnglib.dev $(png_) page.dev
  4107.     $(SETPDEV) png16  $(png_)
  4108.     $(ADDMOD) png16  -include pnglib
  4109.  
  4110. png256.dev: pnglib.dev $(png_) page.dev
  4111.     $(SETPDEV) png256  $(png_)
  4112.     $(ADDMOD) png256  -include pnglib
  4113.  
  4114. png16m.dev: pnglib.dev $(png_) page.dev
  4115.     $(SETPDEV) png16m  $(png_)
  4116.     $(ADDMOD) png16m  -include pnglib
  4117.  
  4118. ### ---------------------- PostScript image format ---------------------- ###
  4119. ### These devices make it possible to print Level 2 files on a Level 1    ###
  4120. ###   printer, by converting them to a bitmap in PostScript format.       ###
  4121.  
  4122. ps_=gdevpsim.$(OBJ)
  4123.  
  4124. gdevpsim.$(OBJ): gdevpsim.c $(GDEV) $(gdevprn_h)
  4125.  
  4126. psmono.dev: $(ps_) page.dev
  4127.     $(SETPDEV) psmono $(ps_)
  4128.  
  4129. # Someday there will be RGB and CMYK variants....
  4130.  
  4131. ### -------------------------- SGI RGB pixmaps -------------------------- ###
  4132.  
  4133. sgirgb_=gdevsgi.$(OBJ)
  4134.  
  4135. gdevsgi.$(OBJ): gdevsgi.c gdevsgi.h
  4136.  
  4137. sgirgb.dev: $(sgirgb_) page.dev
  4138.     $(SETPDEV) sgirgb $(sgirgb_)
  4139.  
  4140. ### -------------------- Plain or TIFF fax encoding --------------------- ###
  4141. ###    Use -sDEVICE=tiffg3 or tiffg4 and                  ###
  4142. ###      -r204x98 for low resolution output, or              ###
  4143. ###      -r204x196 for high resolution output                  ###
  4144. ###    These drivers recognize 3 page sizes: letter, A4, and B4.      ###
  4145.  
  4146. gdevtifs_h=gdevtifs.h
  4147.  
  4148. tfax_=gdevtfax.$(OBJ)
  4149. tfax.dev: $(tfax_) cfe.dev lzwe.dev rle.dev tiffs.dev
  4150.     $(SETMOD) tfax $(tfax_)
  4151.     $(ADDMOD) tfax -include cfe lzwe rle tiffs
  4152.  
  4153. gdevtfax.$(OBJ): gdevtfax.c $(GDEV) $(gdevprn_h) \
  4154.   $(time__h) $(gscdefs_h) $(gdevtifs_h) \
  4155.   $(scfx_h) $(slzwx_h) $(srlx_h) $(strimpl_h)
  4156.  
  4157. ### Plain G3/G4 fax with no header
  4158.  
  4159. faxg3.dev: tfax.dev
  4160.     $(SETDEV) faxg3 -include tfax
  4161.  
  4162. faxg32d.dev: tfax.dev
  4163.     $(SETDEV) faxg32d -include tfax
  4164.  
  4165. faxg4.dev: tfax.dev
  4166.     $(SETDEV) faxg4 -include tfax
  4167.  
  4168. ### ---------------------------- TIFF formats --------------------------- ###
  4169.  
  4170. tiffs_=gdevtifs.$(OBJ)
  4171. tiffs.dev: $(tiffs_) page.dev
  4172.     $(SETMOD) tiffs $(tiffs_)
  4173.     $(ADDMOD) tiffs -include page
  4174.  
  4175. gdevtifs.$(OBJ): gdevtifs.c $(stdio__h) $(time__h) \
  4176.   $(gdevprn_h) $(gdevtifs_h) $(gscdefs_h) $(gstypes_h)
  4177.  
  4178. # Black & white, G3/G4 fax
  4179.  
  4180. tiffcrle.dev: tfax.dev
  4181.     $(SETDEV) tiffcrle -include tfax
  4182.  
  4183. tiffg3.dev: tfax.dev
  4184.     $(SETDEV) tiffg3 -include tfax
  4185.  
  4186. tiffg32d.dev: tfax.dev
  4187.     $(SETDEV) tiffg32d -include tfax
  4188.  
  4189. tiffg4.dev: tfax.dev
  4190.     $(SETDEV) tiffg4 -include tfax
  4191.  
  4192. # Black & white, LZW compression
  4193.  
  4194. tifflzw.dev: tfax.dev
  4195.     $(SETDEV) tifflzw -include tfax
  4196.  
  4197. # Black & white, PackBits compression
  4198.  
  4199. tiffpack.dev: tfax.dev
  4200.     $(SETDEV) tiffpack -include tfax
  4201.  
  4202. # RGB, no compression
  4203.  
  4204. tiff24nc_=gdevtfnx.$(OBJ)
  4205. tiff24nc.dev: $(tiff24nc_) tiffs.dev
  4206.     $(SETPDEV) tiff24nc $(tiff24nc_)
  4207.     $(ADDMOD) tiff24nc -include tiffs
  4208.  
  4209. gdevtfnx.$(OBJ): gdevtfnx.c $(GDEV) $(time__h) \
  4210.   $(gdevprn_h) $(gscdefs_h) gdevtifs.h
  4211. #    Copyright (C) 1995 Aladdin Enterprises.  All rights reserved.
  4212. # This file is part of Aladdin Ghostscript.
  4213. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  4214. # or distributor accepts any responsibility for the consequences of using it,
  4215. # or for whether it serves any particular purpose or works at all, unless he
  4216. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  4217. # License (the "License") for full details.
  4218. # Every copy of Aladdin Ghostscript must include a copy of the License,
  4219. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  4220. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  4221. # under certain conditions described in the License.  Among other things, the
  4222. # License requires that the copyright notice and this notice be preserved on
  4223. # all copies.
  4224.  
  4225. # makefile for PNG (Portable Network Graphics) and ZLIB code.
  4226.  
  4227. # This partial makefile compiles the PNG and ZLIB libraries for use in
  4228. # the PNG drivers.  You can get the source code for these libraries from:
  4229. #  ftp://ftp.uu.net/graphics/png/lbpng071.zip   (libpng 0.71)
  4230. #        or libpng-0.71.tar.gz
  4231. #  ftp://ftp.uu.net/graphics/png/zlib093.zip    (zlib 0.93)
  4232. #        or zlib-0.93.tar.gz
  4233. # Unpack them into subdirectories gsxxx/png and gsxxx/zlib, where gsxxx
  4234. # is the main source library.
  4235.  
  4236. # PSRCDIR and ZSRCDIR should really be defined in the platform
  4237. # makefile to deal with the VMS directory structure.
  4238. PSRCDIR=$(srcdir)/pnglib
  4239. ZSRCDIR=$(srcdir)/zlib
  4240.  
  4241. PSRC=$(PSRCDIR)$(D)
  4242. ZSRC=$(ZSRCDIR)$(D)
  4243. RMP=rm -f
  4244.  
  4245. # We keep all of the PNG and ZLIB code in a separate directory so as not to
  4246. # inadvertently mix it up with Aladdin Enterprises' own code.
  4247. # JOOP: added pngconf.h to the list of files to copy to current dir
  4248. #       is needed because gdevpng.c needs it and is not included
  4249. #       in -I search path :(
  4250. PHCOPY=pngconf.h png.h zlib.h zutil.h zconf.h deflate.h
  4251.  
  4252. PDEP=$(AK) $(PHCOPY)
  4253.  
  4254. #png_1=png.$(OBJ) pngstub.$(OBJ) pngtrans.$(OBJ)
  4255. png_1=png.$(OBJ) pngmem.$(OBJ) pngio.$(OBJ) pngerror.$(OBJ) pngtrans.$(OBJ)
  4256. png_2=pngwrite.$(OBJ) pngwtran.$(OBJ) pngwutil.$(OBJ)
  4257. zlib_1=adler32.$(OBJ) deflate.$(OBJ) trees.$(OBJ) zutil.$(OBJ)
  4258.  
  4259. # copy the header files to the current directory
  4260. pngconf.h: $(PSRC)pngconf.h
  4261.     cp $(PSRC)pngconf.h pngconf.h
  4262.  
  4263. png.h: $(PSRC)png.h
  4264.     cp $(PSRC)png.h png.h
  4265.  
  4266. zlib.h: $(ZSRC)zlib.h
  4267.     cp $(ZSRC)zlib.h zlib.h
  4268.  
  4269. zutil.h: $(ZSRC)zutil.h
  4270.     cp $(ZSRC)zutil.h zutil.h
  4271.  
  4272. zconf.h: $(ZSRC)zconf.h
  4273.     cp $(ZSRC)zconf.h zconf.h
  4274.  
  4275. deflate.h: $(ZSRC)deflate.h
  4276.     cp $(ZSRC)deflate.h deflate.h
  4277.  
  4278. # LIBPNG modules
  4279. png.$(OBJ): $(PSRC)png.c $(PDEP)
  4280.     cp $(PSRC)png.c .
  4281.     $(CCC) -I. -I$(PSRC) png.c
  4282.     $(RMP) png.c
  4283.  
  4284. #pngstub.$(OBJ): $(PSRC)pngstub.c $(PDEP)
  4285. #    cp $(PSRC)pngstub.c .
  4286. #    $(CCC) pngstub.c
  4287. #    $(RMP) pngstub.c
  4288.  
  4289. pngio.$(OBJ): $(PSRC)pngio.c $(PDEP)
  4290.     cp $(PSRC)pngio.c .
  4291.     $(CCC) -I. -I$(PSRC) pngio.c
  4292.     $(RMP) pngio.c
  4293.  
  4294. pngmem.$(OBJ): $(PSRC)pngmem.c $(PDEP)
  4295.     cp $(PSRC)pngmem.c .
  4296.     $(CCC) -I. -I$(PSRC) pngmem.c
  4297.     $(RMP) pngmem.c
  4298.  
  4299. pngerror.$(OBJ): $(PSRC)pngerror.c $(PDEP)
  4300.     cp $(PSRC)pngerror.c .
  4301.     $(CCC) -I. -I$(PSRC) pngerror.c
  4302.     $(RMP) pngerror.c
  4303.  
  4304. pngtrans.$(OBJ): $(PSRC)pngtrans.c $(PDEP)
  4305.     cp $(PSRC)pngtrans.c .
  4306.     $(CCC) -I. -I$(PSRC) pngtrans.c
  4307.     $(RMP) pngtrans.c
  4308.  
  4309. pngwrite.$(OBJ): $(PSRC)pngwrite.c $(PDEP)
  4310.     cp $(PSRC)pngwrite.c .
  4311.     $(CCC) -I. -I$(PSRC) pngwrite.c
  4312.     $(RMP) pngwrite.c
  4313.  
  4314. pngwtran.$(OBJ): $(PSRC)pngwtran.c $(PDEP)
  4315.     cp $(PSRC)pngwtran.c .
  4316.     $(CCC) -I. -I$(PSRC) pngwtran.c
  4317.     $(RMP) pngwtran.c
  4318.  
  4319. pngwutil.$(OBJ): $(PSRC)pngwutil.c $(PDEP)
  4320.     cp $(PSRC)pngwutil.c .
  4321.     $(CCC) -I. -I$(PSRC) pngwutil.c
  4322.     $(RMP) pngwutil.c
  4323.  
  4324. # ZLIB modules
  4325. adler32.$(OBJ): $(ZSRC)adler32.c $(PDEP)
  4326.     cp $(ZSRC)adler32.c .
  4327.     $(CCC) -I. -I$(ZSRC) adler32.c
  4328.     $(RMP) adler32.c
  4329.  
  4330. deflate.$(OBJ): $(ZSRC)deflate.c $(PDEP)
  4331.     cp $(ZSRC)deflate.c .
  4332.     $(CCC) -I. -I$(ZSRC) deflate.c
  4333.     $(RMP) deflate.c
  4334.  
  4335. trees.$(OBJ): $(ZSRC)trees.c $(PDEP)
  4336.     cp $(ZSRC)trees.c .
  4337.     $(CCC) -I. -I$(ZSRC) trees.c
  4338.     $(RMP) trees.c
  4339.  
  4340. zutil.$(OBJ): $(ZSRC)zutil.c $(PDEP)
  4341.     cp $(ZSRC)zutil.c .
  4342.     $(CCC) -I. -I$(ZSRC) zutil.c
  4343.     $(RMP) zutil.c
  4344.  
  4345. pngclean:
  4346.     rm png.h
  4347.     rm zlib.h
  4348.     rm zutil.h
  4349.     rm zconf.h
  4350.     rm deflate.h
  4351.     rm png.c
  4352. #    rm pngstub.c
  4353.     rm pngio.c
  4354.     rm pngmem.c
  4355.     rm pngerror.c
  4356.     rm pngtrans.c
  4357.     rm pngwrite.c
  4358.     rm pngwtran.c
  4359.     rm pngwutil.c
  4360.     rm adler32.c
  4361.     rm deflate.c
  4362.     rm trees.c
  4363.     rm zutil.c
  4364.  
  4365. pnglib.dev: png.mak $(png_1) $(png_2) $(zlib_1)
  4366.     $(SETMOD) pnglib  $(png_1)
  4367.     $(ADDMOD) pnglib  -obj $(png_2)
  4368.     $(ADDMOD) pnglib  -obj $(zlib_1)
  4369. #    Copyright (C) 1990, 1995 Aladdin Enterprises.  All rights reserved.
  4370. # This file is part of Aladdin Ghostscript.
  4371. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  4372. # or distributor accepts any responsibility for the consequences of using it,
  4373. # or for whether it serves any particular purpose or works at all, unless he
  4374. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  4375. # License (the "License") for full details.
  4376. # Every copy of Aladdin Ghostscript must include a copy of the License,
  4377. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  4378. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  4379. # under certain conditions described in the License.  Among other things, the
  4380. # License requires that the copyright notice and this notice be preserved on
  4381. # all copies.
  4382.  
  4383. # Partial makefile common to all Unix configurations.
  4384.  
  4385. # This is the last part of the makefile for Unix configurations.
  4386. # Since Unix make doesn't have an 'include' facility, we concatenate
  4387. # the various parts of the makefile together by brute force (in tar_cat).
  4388.  
  4389. # Define the name of this makefile.
  4390. UNIXTAIL_MAK=unixtail.mak
  4391.  
  4392. # The following prevents GNU make from constructing argument lists that
  4393. # include all environment variables, which can easily be longer than
  4394. # brain-damaged system V allows.
  4395.  
  4396. .NOEXPORT:
  4397.  
  4398. # -------------------------------- Library -------------------------------- #
  4399.  
  4400. amiga__=gp_nofb.$(OBJ) gp_amiga.$(OBJ) gdevpipe.$(OBJ) ami_open.$(OBJ)
  4401.  
  4402. amiga_.dev: $(amiga__)
  4403.     $(SETMOD) amiga_ $(amiga__)
  4404.     $(ADDMOD) amiga_ -iodev pipe
  4405.  
  4406. gp_amiga.$(OBJ): gp_amiga.c $(AK) $(string__h) $(gx_h) $(gsexit_h) $(gp_h) \
  4407.   $(time__h)
  4408.  
  4409. ## The Unix platforms
  4410.  
  4411. # We have to include a test for the existence of sys/time.h,
  4412. # because some System V platforms don't have it.
  4413.  
  4414. # Define pipes as a separable feature.
  4415.  
  4416. pipe_=gdevpipe.$(OBJ)
  4417. pipe.dev: $(UNIXTAIL_MAK) $(ECHOGS_XE) $(pipe_)
  4418.     $(SETMOD) pipe $(pipe_)
  4419.     $(ADDMOD) pipe -iodev pipe
  4420.  
  4421. gdevpipe.$(OBJ): gdevpipe.c $(AK) $(stdio__h) \
  4422.   $(gserror_h) $(gsmemory_h) $(gstypes_h) $(gxiodev_h) $(stream_h)
  4423.  
  4424. # Unix platforms other than System V, and also System V Release 4
  4425. # (SVR4) platforms.
  4426. unix__=gp_nofb.$(OBJ) gp_unix.$(OBJ) gp_unifs.$(OBJ) gp_unifn.$(OBJ)
  4427. unix_.dev: $(unix__)
  4428.     $(SETMOD) unix_ $(unix__)
  4429.  
  4430. gp_unix.$(OBJ): gp_unix.c $(AK) $(string__h) $(gx_h) $(gsexit_h) $(gp_h) \
  4431.   $(time__h)
  4432.  
  4433. # System V platforms other than SVR4, which lack some system calls,
  4434. # but have pipes.
  4435. sysv__=gp_nofb.$(OBJ) gp_unix.$(OBJ) gp_unifs.$(OBJ) gp_unifn.$(OBJ) gp_sysv.$(OBJ)
  4436. sysv_.dev: $(sysv__)
  4437.     $(SETMOD) sysv_ $(sysv__)
  4438.  
  4439. gp_sysv.$(OBJ): gp_sysv.c $(time__h) $(AK)
  4440.  
  4441. # -------------------------- Auxiliary programs --------------------------- #
  4442.  
  4443. $(ANSI2KNR_XE): ansi2knr.c
  4444.     $(CCA2K) $(O)$(ANSI2KNR_XE) ansi2knr.c
  4445.  
  4446. $(ECHOGS_XE): echogs.c $(AK)
  4447.     $(CCAUX) $(O)$(ECHOGS_XE) $(srcdir)/echogs.c
  4448.  
  4449. # On the RS/6000 (at least), compiling genarch.c with gcc with -O
  4450. # produces a buggy executable.
  4451. $(GENARCH_XE): genarch.c $(AK)
  4452.     $(CCAUX) $(O)$(GENARCH_XE) $(srcdir)/genarch.c
  4453.  
  4454. $(GENCONF_XE): genconf.c $(AK)
  4455.     $(CCAUX) $(O)$(GENCONF_XE) $(srcdir)/genconf.c
  4456.  
  4457. $(GENINIT_XE): geninit.c $(AK) $(stdio__h) $(string__h)
  4458.     $(CCAUX) -I. -I$(srcdir) $(O)$(GENINIT_XE) $(srcdir)/geninit.c
  4459.  
  4460. # We need to query the environment to construct gconfig_.h.
  4461. INCLUDE=/gnu/include
  4462. gconfig_.h: $(UNIXTAIL_MAK) $(ECHOGS_XE)
  4463.     ./echogs -w gconfig_.h -x 2f2a -s This file was generated automatically. -s -x 2a2f
  4464.     if ( test -f $(INCLUDE)/sys/time.h ); then ./echogs -a gconfig_.h -x 23 define SYSTIME_H;\
  4465.     fi
  4466.     if ( test -f $(INCLUDE)/dirent.h ); then ./echogs -a gconfig_.h -x 23 define DIRENT_H;\
  4467.     elif ( test -f $(INCLUDE)/sys/dir.h ); then ./echogs -a gconfig_.h -x 23 define SYSDIR_H;\
  4468.     elif ( test -f $(INCLUDE)/sys/ndir.h ); then ./echogs -a gconfig_.h -x 23 define SYSNDIR_H;\
  4469.     elif ( test -f $(INCLUDE)/ndir.h ); then ./echogs -a gconfig_.h -x 23 define NDIR_H;\
  4470.     fi
  4471.  
  4472. # ----------------------------- Main program ------------------------------ #
  4473.  
  4474. # Interpreter main program
  4475.  
  4476. NONDEVS_ALL=gs.$(OBJ) gsmain.$(OBJ) $(INT_ALL) gconfig.$(OBJ)
  4477.  
  4478. # Here is the final link step.  The stuff with LD_RUN_PATH is for SVR4
  4479. # systems with dynamic library loading; I believe it's harmless elsewhere.
  4480. $(GS_XE): ld.tr echogs $(NONDEVS_ALL) $(DEVS_ALL)
  4481.     ./echogs -w ldt.tr -n - $(CCLD) $(LDFLAGS) $(XLIBDIRS) -o $(GS_XE)
  4482.     ./echogs -a ldt.tr -n -s gs.$(OBJ) -s
  4483.     cat ld.tr >>ldt.tr
  4484.     ./echogs -a ldt.tr -s - $(EXTRALIBS) -lm
  4485.     LD_RUN_PATH=$(XLIBDIR); export LD_RUN_PATH; $(SH) <ldt.tr
  4486. #    Copyright (C) 1994, 1995 Aladdin Enterprises.  All rights reserved.
  4487. # This file is part of Aladdin Ghostscript.
  4488. # Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  4489. # or distributor accepts any responsibility for the consequences of using it,
  4490. # or for whether it serves any particular purpose or works at all, unless he
  4491. # or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  4492. # License (the "License") for full details.
  4493. # Every copy of Aladdin Ghostscript must include a copy of the License,
  4494. # normally in a plain ASCII text file named PUBLIC.  The License grants you
  4495. # the right to copy, modify and redistribute Aladdin Ghostscript, but only
  4496. # under certain conditions described in the License.  Among other things, the
  4497. # License requires that the copyright notice and this notice be preserved on
  4498. # all copies.
  4499.  
  4500. # Partial makefile common to all Unix and Desqview/X configurations.
  4501.  
  4502. # This is the very last part of the makefile for these configurations.
  4503. # Since Unix make doesn't have an 'include' facility, we concatenate
  4504. # the various parts of the makefile together by brute force (in tar_cat).
  4505.  
  4506. # The rule for gconfigv.h is here because it is shared between Unix and
  4507. # DV/X environments.
  4508. gconfigv.h: unix-end.mak $(MAKEFILE) $(ECHOGS_XE)
  4509.     $(EXP)echogs -w gconfigv.h -x 23 define USE_ASM -x 2028 -q $(USE_ASM)-0 -x 29
  4510.     $(EXP)echogs -a gconfigv.h -x 23 define USE_FPU -x 2028 -q $(FPU_TYPE)-0 -x 29
  4511.     $(EXP)echogs -a gconfigv.h -x 23 define EXTEND_NAMES 0$(EXTEND_NAMES)
  4512.  
  4513. # The following rules are equivalent to what tar_cat does.
  4514. GENERIC_MAK_LIST=$(GS_MAK) $(LIB_MAK) $(INT_MAK) $(JPEG_MAK) $(DEVS_MAK)
  4515. unix.mak: dvx-gcc.mak unixansi.mak unix-cc.mak unix-gcc.mak
  4516.  
  4517. DVX_GCC_MAK=dgc-head.mak dvx-head.mak $(GENERIC_MAK_LIST) dvx-tail.mak unix-end.mak
  4518. dvx-gcc.mak: $(DVX_GCC_MAK)
  4519.     $(CAT) $(DVX_GCC_MAK) >dvx-gcc.mak
  4520.  
  4521. UNIXANSI_MAK=ansihead.mak unixhead.mak $(GENERIC_MAK_LIST) unixtail.mak unix-end.mak
  4522. unixansi.mak: $(UNIXANSI_MAK)
  4523.     $(CAT) $(UNIXANSI_MAK) >unixansi.mak
  4524.  
  4525. UNIX_CC_MAK=cc-head.mak unixhead.mak $(GENERIC_MAK_LIST) unixtail.mak unix-end.mak
  4526. unix-cc.mak: $(UNIX_CC_MAK)
  4527.     $(CAT) $(UNIX_CC_MAK) >unix-cc.mak
  4528.  
  4529. UNIX_GCC_MAK=gcc-head.mak unixhead.mak $(GENERIC_MAK_LIST) unixtail.mak unix-end.mak
  4530. unix-gcc.mak: $(UNIX_GCC_MAK)
  4531.     $(CAT) $(UNIX_GCC_MAK) >unix-gcc.mak
  4532.  
  4533. # Build the VMS MODULES.LIS file on a Unix system.
  4534.  
  4535. modules_lis=modules$(CONFIG).lis
  4536. $(modules_lis): $(MAKEFILE) $(GENCONF_XE) $(devs_tr)
  4537.     $(EXP)genconf @$(devs_tr) -pue "%s" -o $(modules_lis)
  4538.  
  4539. # Installation
  4540.  
  4541. TAGS:
  4542.     etags -t *.c *.h
  4543.  
  4544. install: install-exec install-data
  4545.  
  4546. # The sh -c in the rules below is necessary because the Ultrix `make'
  4547. # uses sh -e, which terminates execution of a command if any error occurs,
  4548. # even if the command traps the error with ||.
  4549. # JOOP: change needed when installing for ixemul
  4550. #       $(INSTALL_PROGRAM) $(GS) $(bindir)/$(GS)
  4551. #       remove '#' from -mkdir $(bindir)
  4552. #       Seems that gnu:bin/mkdir needs '-p' when multiple directories are made
  4553. #       added '-p' to all mkdir commands, just in case user makes weird dirs
  4554.  
  4555. install-exec: $(GS)
  4556. #    -mkdir $(bindir) -p
  4557.     $(INSTALL_PROGRAM) $(GS) $(bindir)$(GS)
  4558.     -mkdir $(scriptdir) -p
  4559.     sh -c 'for f in gsbj gsdj gsdj500 gslj gslp gsnd bdftops font2c \
  4560. pdf2ps printafm ps2ascii ps2epsi wftopfa ;\
  4561.     do if ( test -f $(srcdir)/$$f ); then $(INSTALL_PROGRAM) $(srcdir)/$$f $(scriptdir)/$$f; fi;\
  4562.     done'
  4563.  
  4564. install-data: gs.1
  4565.     -mkdir $(mandir) -p
  4566.     -mkdir $(man1dir) -p
  4567.     for f in gs ps2epsi ;\
  4568.     do $(INSTALL_DATA) $(srcdir)/$$f.1 $(man1dir)/$$f.$(man1ext) ;\
  4569.     done
  4570.     -mkdir $(datadir) -p
  4571.     -mkdir $(gsdir) -p
  4572.     -mkdir $(gsdatadir) -p
  4573.     sh -c 'for f in Fontmap gs_init.ps \
  4574. gs_btokn.ps gs_ccfnt.ps gs_cidfn.ps \
  4575. gs_dps1.ps gs_fonts.ps gs_kanji.ps gs_lev2.ps gs_pfile.ps gs_res.ps \
  4576. gs_setpd.ps gs_statd.ps gs_type0.ps gs_type1.ps \
  4577. gs_dbt_e.ps gs_iso_e.ps gs_ksb_e.ps gs_std_e.ps gs_sym_e.ps \
  4578. align.ps bdftops.ps caption.ls decrypt.ps docie.ps font2c.ps gslp.ps \
  4579. impath.ps landscap.ps level1.ps markhint.ps markpath.ps \
  4580. packfile.ps pcharstr.ps pfbtogs.ps ppath.ps prfont.ps printafm.ps \
  4581. ps2ai.ps ps2ascii.ps ps2epsi.ps ps2image.ps pstoppm.ps \
  4582. quit.ps showchar.ps showpage.ps stcinfo.ps stcolor.ps \
  4583. traceimg.ps traceop.ps type1enc.ps type1ops.ps unprot.ps \
  4584. viewgif.ps viewjpeg.ps viewpbm.ps wftopfa.ps wrfont.ps \
  4585. gs_pdf.ps pdf2dsc.ps pdf_base.ps pdf_draw.ps pdf_font.ps pdf_main.ps pdf_2ps.ps \
  4586. gs_mex_e.ps gs_mro_e.ps gs_pdf_e.ps gs_wan_e.ps ;\
  4587.     do if ( test -f $(srcdir)/$$f ); then $(INSTALL_DATA) $(srcdir)/$$f $(gsdatadir)/$$f; fi;\
  4588.     done'
  4589.     -mkdir $(docdir) -p
  4590.     sh -c 'for f in COPYING NEWS PUBLIC README current.doc devices.doc \
  4591. drivers.doc fonts.doc gs.1 hershey.doc history1.doc history2.doc humor.doc \
  4592. language.doc lib.doc make.doc ps2epsi.1 ps2epsi.doc psfiles.doc public.doc \
  4593. use.doc xfonts.doc ;\
  4594.     do if ( test -f $(srcdir)/$$f ); then $(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; fi;\
  4595.     done'
  4596.     -mkdir $(exdir) -p
  4597.     for f in alphabet.ps chess.ps cheq.ps colorcir.ps escher.ps golfer.ps \
  4598. grayalph.ps snowflak.ps tiger.ps waterfal.ps ;\
  4599.     do $(INSTALL_DATA) $(srcdir)/$$f $(exdir)/$$f ;\
  4600.     done
  4601.  
  4602.